Files

Example Job Catalog

This project is meant to be used to create a catalog of jobs, usually to test something in an integration or the SDK.

Setup

You will need to create a .env file. You can duplicate the .env.example file and set your local TRIGGER_API_KEY value.

Running

You need to build the CLI:

pnpm run build --filter @trigger.dev/cli

Each file in src is a separate set of jobs that can be run separately. For example, the src/stripe.ts file can be run with:

cd examples/job-catalog
pnpm run stripe

This will open up a local server using express on port 8080. Then in a new terminal window you can run the trigger-cli dev command:

cd examples/job-catalog
pnpm run dev:trigger

Adding a new file

You can add a new file to src with it's own TriggerClient and set of jobs (e.g. src/events.ts)

import { TriggerClient, eventTrigger } from "@trigger.dev/sdk";
import { createExpressServer } from "@trigger.dev/express";
import { z } from "zod";

export const client = new TriggerClient({
  id: "job-catalog",
  apiKey: process.env["TRIGGER_API_KEY"],
  apiUrl: process.env["TRIGGER_API_URL"],
  verbose: false,
  ioLogLocalEnabled: true,
});

client.defineJob({
  id: "example-job-1",
  name: "Example Job 1",
  version: "0.1.0",
  trigger: eventTrigger({
    name: "example.one",
  }),
  run: async (payload, io, ctx) => {},
});

createExpressServer(client);

Then add a new script in package.json:

{
  "scripts": {
    "events": "nodemon --watch src/events.ts -r tsconfig-paths/register -r dotenv/config src/events.ts"
  }
}