Triggers
Triggers decide when a pipeline starts. on accepts a single trigger name, a list of names (using defaults), or an object with per-trigger options. See the guide to triggers.
on (triggers object)
Section titled “on (triggers object)”YAML path: on
- Unknown keys are rejected.
| Key | Type | Required | Description |
|---|---|---|---|
push |
on.push | ||
pull_request |
on.pull_request | ||
tag |
on.tag | ||
schedule |
list of on.schedule[] | ||
manual |
on.manual | ||
api |
on.api | ||
pipeline |
on.pipeline | ||
release |
on.release | ||
webhook |
on.webhook |
on.push
Section titled “on.push”YAML path: on.push
PushTrigger fires on branch pushes and tag pushes.
- Unknown keys are rejected.
| Key | Type | Required | Description |
|---|---|---|---|
branches |
string or list of string | number | boolean | ||
branches_ignore |
string or list of string | number | boolean | ||
tags |
string or list of string | number | boolean | ||
tags_ignore |
string or list of string | number | boolean | ||
paths |
string or list of string | number | boolean | ||
paths_ignore |
string or list of string | number | boolean |
on.pull_request
Section titled “on.pull_request”YAML path: on.pull_request
PullRequestTrigger fires on pull/merge request events.
- Unknown keys are rejected.
| Key | Type | Required | Description |
|---|---|---|---|
branches |
string or list of string | number | boolean | ||
branches_ignore |
string or list of string | number | boolean | ||
paths |
string or list of string | number | boolean | ||
paths_ignore |
string or list of string | number | boolean | ||
types |
opened | synchronize | reopened | labeled | ready_for_review | closed or list of opened | synchronize | reopened | labeled | ready_for_review | closed |
||
labels |
string or list of string | number | boolean |
on.tag
Section titled “on.tag”YAML path: on.tag
TagTrigger is sugar for push.tags.
- Unknown keys are rejected.
| Key | Type | Required | Description |
|---|---|---|---|
tags |
string or list of string | number | boolean | ||
tags_ignore |
string or list of string | number | boolean |
on.schedule[]
Section titled “on.schedule[]”YAML path: on.schedule[]
ScheduleTrigger is one cron schedule.
- Unknown keys are rejected.
| Key | Type | Required | Description |
|---|---|---|---|
cron |
string | required | Five-field cron expression (minute hour day-of-month month day-of-week) or a descriptor such as @daily. |
branch |
string | ||
timezone |
string |
on.manual
Section titled “on.manual”YAML path: on.manual
ManualTrigger enables running from the UI, CLI or API with typed inputs.
- Unknown keys are rejected.
| Key | Type | Required | Description |
|---|---|---|---|
inputs |
map of Input | Typed inputs collected when the run is started. |
on.api
Section titled “on.api”YAML path: on.api
APITrigger enables API-only runs (no UI button).
- Unknown keys are rejected.
| Key | Type | Required | Description |
|---|---|---|---|
inputs |
map of Input |
on.pipeline
Section titled “on.pipeline”YAML path: on.pipeline
PipelineTrigger fans in from other pipelines of the same project.
- Unknown keys are rejected.
| Key | Type | Required | Description |
|---|---|---|---|
pipelines |
string or list of string | number | boolean | Names of pipelines in the same project to react to. | |
on |
success | failure | completed or list of success | failure | completed |
||
branches |
string or list of string | number | boolean |
on.release
Section titled “on.release”YAML path: on.release
ReleaseTrigger fires from the deploy domain.
- Unknown keys are rejected.
| Key | Type | Required | Description |
|---|---|---|---|
types |
created | promoted or list of created | promoted |
||
channels |
string or list of string | number | boolean | Release channels to react to. |
on.webhook
Section titled “on.webhook”YAML path: on.webhook
WebhookTrigger is the generic HMAC-SHA256 webhook trigger.
- Unknown keys are rejected.
| Key | Type | Required | Description |
|---|---|---|---|
secret |
string | HMAC-SHA256 shared secret, normally ${{ secrets.NAME }}. | |
filter |
string | CEL expression over event.payload; the pipeline runs when it is true. |
YAML path: inputs.<name>
Input declares one typed manual/API input.
- Unknown keys are rejected.
| Key | Type | Required | Description |
|---|---|---|---|
type |
string | number | boolean | choice | environment | secret |
||
required |
boolean | ||
default |
any | Value used when the input is omitted. | |
description |
string | ||
options |
list of string | Allowed values for type choice. |