Added isTest to the Trigger.run context param to detect when a trigger runs in from the test page
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"@trigger.dev/sdk": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Added isTest to TriggerContext
|
||||||
@@ -87,6 +87,10 @@ const trigger = new Trigger({
|
|||||||
for more info.
|
for more info.
|
||||||
</ParamField>
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField path="isTest" type="boolean">
|
||||||
|
Whether or not this trigger is being run as a test.
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
<ParamField path="sendEvent" type="function">
|
<ParamField path="sendEvent" type="function">
|
||||||
A function that can be used to send an event to trigger.dev. See the [Sending
|
A function that can be used to send an event to trigger.dev. See the [Sending
|
||||||
Events](/functions/send-event) page for more info.
|
Events](/functions/send-event) page for more info.
|
||||||
|
|||||||
@@ -664,6 +664,7 @@ function createTaskQueue() {
|
|||||||
"x-env": run.environment.slug,
|
"x-env": run.environment.slug,
|
||||||
"x-workflow-run-id": run.id,
|
"x-workflow-run-id": run.id,
|
||||||
"x-ttl": run.workflow.triggerTtlInSeconds,
|
"x-ttl": run.workflow.triggerTtlInSeconds,
|
||||||
|
"x-is-test": run.isTest ? "true" : "false",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
eventTimestamp: run.event.timestamp.getTime(),
|
eventTimestamp: run.event.timestamp.getTime(),
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ export type WorkflowRunControllerOptions = {
|
|||||||
environment: string;
|
environment: string;
|
||||||
apiKey: string;
|
apiKey: string;
|
||||||
organizationId: string;
|
organizationId: string;
|
||||||
|
isTest: boolean;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -37,6 +38,7 @@ export class WorkflowRunController {
|
|||||||
environment: string;
|
environment: string;
|
||||||
apiKey: string;
|
apiKey: string;
|
||||||
organizationId: string;
|
organizationId: string;
|
||||||
|
isTest: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
#logger: Logger;
|
#logger: Logger;
|
||||||
|
|||||||
@@ -420,6 +420,10 @@ export class TriggerServer {
|
|||||||
organizationId: properties["x-org-id"],
|
organizationId: properties["x-org-id"],
|
||||||
environment: properties["x-env"],
|
environment: properties["x-env"],
|
||||||
apiKey: properties["x-api-key"],
|
apiKey: properties["x-api-key"],
|
||||||
|
isTest:
|
||||||
|
typeof properties["x-is-test"] === "string"
|
||||||
|
? properties["x-is-test"] === "true"
|
||||||
|
: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,10 @@ new Trigger({
|
|||||||
wallTime: new Date(),
|
wallTime: new Date(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (ctx.isTest) {
|
||||||
|
await ctx.logger.warn("This is only a test");
|
||||||
|
}
|
||||||
|
|
||||||
const response = await ctx.fetch("do-fetch", `${event.url}${event.path}`, {
|
const response = await ctx.fetch("do-fetch", `${event.url}${event.path}`, {
|
||||||
method: event.method,
|
method: event.method,
|
||||||
responseSchema: z.any(),
|
responseSchema: z.any(),
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ export const HostRPCSchema = {
|
|||||||
workflowId: z.string(),
|
workflowId: z.string(),
|
||||||
organizationId: z.string(),
|
organizationId: z.string(),
|
||||||
apiKey: z.string(),
|
apiKey: z.string(),
|
||||||
|
isTest: z.boolean().default(false),
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
response: z.boolean(),
|
response: z.boolean(),
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ const Catalog = {
|
|||||||
data: TriggerWorkflowMessageSchema,
|
data: TriggerWorkflowMessageSchema,
|
||||||
properties: WorkflowRunEventPropertiesSchema.extend({
|
properties: WorkflowRunEventPropertiesSchema.extend({
|
||||||
"x-ttl": z.coerce.number().optional(),
|
"x-ttl": z.coerce.number().optional(),
|
||||||
|
"x-is-test": z.string().default("false"),
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -357,6 +357,7 @@ export class TriggerClient<TSchema extends z.ZodTypeAny> {
|
|||||||
environment: data.meta.environment,
|
environment: data.meta.environment,
|
||||||
apiKey: data.meta.apiKey,
|
apiKey: data.meta.apiKey,
|
||||||
organizationId: data.meta.organizationId,
|
organizationId: data.meta.organizationId,
|
||||||
|
isTest: data.meta.isTest,
|
||||||
logger: new ContextLogger(async (level, message, properties) => {
|
logger: new ContextLogger(async (level, message, properties) => {
|
||||||
await serverRPC.send("SEND_LOG", {
|
await serverRPC.send("SEND_LOG", {
|
||||||
runId: data.id,
|
runId: data.id,
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ export interface TriggerContext {
|
|||||||
apiKey: string;
|
apiKey: string;
|
||||||
organizationId: string;
|
organizationId: string;
|
||||||
logger: TriggerLogger;
|
logger: TriggerLogger;
|
||||||
|
isTest: boolean;
|
||||||
sendEvent(key: string, event: TriggerCustomEvent): Promise<void>;
|
sendEvent(key: string, event: TriggerCustomEvent): Promise<void>;
|
||||||
waitFor(key: string, options: WaitForOptions): Promise<void>;
|
waitFor(key: string, options: WaitForOptions): Promise<void>;
|
||||||
waitUntil(key: string, date: Date): Promise<void>;
|
waitUntil(key: string, date: Date): Promise<void>;
|
||||||
|
|||||||
Reference in New Issue
Block a user