Skip to content

Set up pipeline triggers

This guide shows you how to set up triggers that auto-start pipelines.

A PipelineTrigger declares when a pipeline should start automatically. Triggers are:

  • Default-off — enable them explicitly
  • Workspace-scoped
  • Optional payload match filters
TypeDescription
Domain eventStart when a specific event fires (e.g. PullRequestPublished)
ScheduleStart on a cron expression (e.g. every weekday at 9am)
ManualStarted by the user (always available, no trigger needed)
  1. Open a pipeline template
  2. Click Triggers tab
  3. Click Add trigger
  4. Configure:
  • Event type: select from the domain event catalog (e.g. TicketAssigned, PullRequestPublished)
  • Match filter: optional JSON filter on the event payload

Example: trigger on PullRequestPublished only for non-draft PRs:

{ "isDraft": false }
  • Cron expression: standard cron (e.g. 0 9 * * 1-5 for weekdays at 9am)
  1. Click Save
  2. Enable the trigger

The PipelineTriggerDispatcher subscribes to domain events:

  1. An event is published
  2. For each enabled trigger matching the event type:
    • If the trigger has a match filter, apply it to the event payload
    • If the filter passes (or there’s no filter), start a pipeline run
  3. Dedup keys prevent the same trigger from firing twice for the same event
  • Event: PullRequestPublished
  • Pipeline: dispatch reviewers → finalize review
  • Event: TicketAssigned
  • Pipeline: prompt agent with ticket context → create child tickets if needed
  • Schedule: 0 2 * * * (2am daily)
  • Pipeline: prompt agent to run quality checks → bash script to lint
  • Event: TicketCompleted
  • Pipeline: run integration tests → notify channel