Install Required Packages
To begin, install the necessary packages in your Astro project directory. You can choose one of the following package managers:Obtaining the Development API Key
To locate your development API key, login to the Trigger.dev dashboard and select the Project you want to connect to. Then click on the Environments & API Keys tab in the left menu. You can copy your development API Key from the field at the top of this page. (Your development key will start withtr_dev_).
Adding Environment Variables
Create a.env file at the root of your project and include your Trigger API key and URL like this:
ENTER_YOUR_DEVELOPMENT_API_KEY_HERE with the actual API key obtained from the previous step.
Configuring the Trigger Client
Create a file at<root>/trigger.ts or <root>/src/trigger.ts, depending on if your project uses a src directory, where <root> represents the root directory of your project.
Next, add the following code to the file which creates and exports a new TriggerClient:
src/trigger.ts
Update the astro.config file to enable SSR (Server Side Rendering)
- You need to enable SSR to use API endpoints (which are required by Trigger.dev).
astro.config.mjs
Creating an Example Job
- Create a folder named
jobsalongside yourpagesdirectory - Inside the
jobsfolder, add two files namedexample.tsandindex.ts.
Creating the API Route
To establish an API route for interacting with Trigger.dev, follow these steps based on your project's file type and structure- Create a new file named
trigger.tswithin thepages/api/directory. - Add the following code to
trigger.ts:
src/pages/api/trigger.ts
Adding Configuration to package.json
Inside the package.json file, add the following configuration under the root object:
package.json file might look something like this:
TriggerClient.
Additonal Job Definitions
You can define more job definitions by creating additional files in thejobs folder and exporting them in index file.
For example, in index.ts, you can export other job files like this:
Running
Run your Astro app
Run your Astro app locally, like you normally would. For example:Run the CLI 'dev' command
In a separate terminal window or tab run:Astro by default runs on port 4321.
You can optionally pass the hostname if you're not running on localhost by adding
--hostname <host>. Example, in case your Astro app is running on 0.0.0.0: --hostname 0.0.0.0.
