Skip to content

Pipeline Triggers

Triggers determine when a pipeline runs. FlightStack supports multiple trigger types, and a single pipeline can have multiple triggers.

Run the pipeline on demand by clicking a button.

Configuration: None required

Use cases:

  • Production deployments
  • Ad-hoc builds
  • Testing pipeline changes

Run when code is pushed to matching branches.

Configuration:

OptionDescriptionExample
Branch FilterRegex pattern for branchesmain, develop, feature/.*

Examples:

  • main - Only main branch
  • main\|develop - Main or develop
  • feature/.* - Any feature branch
  • .* - All branches

Run when a Git tag is created.

Configuration:

OptionDescriptionExample
Tag PatternRegex for tag namesv[0-9]+\.[0-9]+\.[0-9]+

Examples:

  • v.* - Any tag starting with v
  • v[0-9]+\.[0-9]+\.[0-9]+ - Semantic versions (v1.0.0)
  • release-.* - Release tags

Run when a pull request is opened, synchronized, or reopened.

Configuration:

OptionDescriptionExample
Source BranchPR source branch filterfeature/.*
Target BranchPR target branch filtermain

Events:

  • PR opened
  • New commits pushed to PR
  • PR reopened after closing

Run on a cron schedule.

Configuration:

OptionDescriptionExample
Cron ExpressionStandard cron format0 2 * * *
TimezoneTimezone for scheduleUTC, America/New_York

Cron Format:

┌───────────── minute (0 - 59)
│ ┌───────────── hour (0 - 23)
│ │ ┌───────────── day of month (1 - 31)
│ │ │ ┌───────────── month (1 - 12)
│ │ │ │ ┌───────────── day of week (0 - 6) (Sunday = 0)
│ │ │ │ │
* * * * *

Common schedules:

ScheduleCronDescription
Nightly0 2 * * *2 AM daily
Weekly0 2 * * 12 AM Mondays
Hourly0 * * * *Every hour

A pipeline can have multiple triggers. Any matching trigger will start the pipeline.

┌──────────┐ ┌──────────┐
│ On Push │ │ On Tag │
│ (main) │ │ (v*) │
└────┬─────┘ └────┬─────┘
│ │
└───────┬────────┘
┌─────────┐
│ Build │
└─────────┘

Triggers provide context variables available in jobs:

VariableDescription
{{trigger}}Trigger type (push, tag, pr, etc.)
{{branch}}Branch name
{{tag}}Tag name (for tag triggers)
{{commit}}Commit SHA
{{commitMessage}}Commit message
{{author}}Commit author

Each trigger has an active/inactive toggle:

  • Active: Trigger will start pipeline runs
  • Inactive: Trigger is configured but won’t fire

This lets you temporarily disable triggers without removing them.

  1. Use specific branch patterns - Avoid .* for pushes; be selective
  2. Separate production triggers - Use manual for production, auto for staging
  3. Add PR triggers for validation - Run tests on every PR
  4. Schedule off-peak - Run nightly builds during low-usage hours