Skip to content

Commit b4f9b70

Browse files
committed
v3: Support triggering tasks with non-URL friendly characters in the ID
1 parent 51bb4c8 commit b4f9b70

File tree

4 files changed

+31
-3
lines changed

4 files changed

+31
-3
lines changed

.changeset/hot-buckets-behave.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@trigger.dev/core": patch
3+
---
4+
5+
Support triggering tasks with non-URL friendly characters in the ID

packages/core/src/v3/apiClient/index.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,11 @@ export class ApiClient {
111111
}
112112

113113
triggerTask(taskId: string, body: TriggerTaskRequestBody, options?: TriggerOptions) {
114+
const encodedTaskId = encodeURIComponent(taskId);
115+
114116
return zodfetch(
115117
TriggerTaskResponse,
116-
`${this.baseUrl}/api/v1/tasks/${taskId}/trigger`,
118+
`${this.baseUrl}/api/v1/tasks/${encodedTaskId}/trigger`,
117119
{
118120
method: "POST",
119121
headers: this.#getHeaders(options?.spanParentAsLink ?? false),
@@ -124,9 +126,11 @@ export class ApiClient {
124126
}
125127

126128
batchTriggerTask(taskId: string, body: BatchTriggerTaskRequestBody, options?: TriggerOptions) {
129+
const encodedTaskId = encodeURIComponent(taskId);
130+
127131
return zodfetch(
128132
BatchTriggerTaskResponse,
129-
`${this.baseUrl}/api/v1/tasks/${taskId}/batch`,
133+
`${this.baseUrl}/api/v1/tasks/${encodedTaskId}/batch`,
130134
{
131135
method: "POST",
132136
headers: this.#getHeaders(options?.spanParentAsLink ?? false),

references/v3-catalog/src/management.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { createReadStream } from "node:fs";
44
import { firstScheduledTask } from "./trigger/scheduled";
55
import { simpleChildTask } from "./trigger/subtasks";
66
import { taskThatErrors } from "./trigger/retries";
7+
import { unfriendlyIdTask } from "./trigger/other";
78

89
dotenv.config();
910

@@ -261,8 +262,19 @@ async function doScheduleLists() {
261262
}
262263
}
263264

265+
async function doTriggerUnfriendlyTaskId() {
266+
const run = await unfriendlyIdTask.trigger();
267+
268+
console.log("unfriendly id task run", run);
269+
270+
const completedRun = await waitForRunToComplete(run.id);
271+
272+
console.log("completed run", completedRun);
273+
}
274+
264275
// doRuns().catch(console.error);
265-
doListRuns().catch(console.error);
276+
// doListRuns().catch(console.error);
266277
// doScheduleLists().catch(console.error);
267278
// doSchedules().catch(console.error);
268279
// doEnvVars().catch(console.error);
280+
doTriggerUnfriendlyTaskId().catch(console.error);

references/v3-catalog/src/trigger/other.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,10 @@ export const consecutiveDependencyAndWait = task({
7575
logger.log("logs after");
7676
},
7777
});
78+
79+
export const unfriendlyIdTask = task({
80+
id: "hello/world:task-1",
81+
run: async () => {
82+
console.log("Hello world");
83+
},
84+
});

0 commit comments

Comments
 (0)