# Triggers (/pipeline-sdk/reference/triggers)



{/* Generated by docs-site/scripts/generate-dsl-docs.ts — do not edit. */}

## `pr` [#pr]

Trigger on a GitHub pull\_request event.

`branches` filters by the PR's *target* branch. `types` selects
PR-action keywords; defaults to opened/synchronize/reopened (mirrors
GHA).

```python
pr(branches=None, types=None) -> PullRequestTrigger
```

| Parameter  | Type                                          | Default | Description |
| ---------- | --------------------------------------------- | ------- | ----------- |
| `branches` | `str \| list[str] \| tuple[str, ...] \| None` | `None`  | —           |
| `types`    | `list[str] \| tuple[str, ...] \| None`        | `None`  | —           |

**Returns** `PullRequestTrigger`

## `pull_request` [#pull_request]

Trigger on a GitHub pull\_request event.

`branches` filters by the PR's *target* branch. `types` selects
PR-action keywords; defaults to opened/synchronize/reopened (mirrors
GHA).

```python
pull_request(branches=None, types=None) -> PullRequestTrigger
```

| Parameter  | Type                                          | Default | Description |
| ---------- | --------------------------------------------- | ------- | ----------- |
| `branches` | `str \| list[str] \| tuple[str, ...] \| None` | `None`  | —           |
| `types`    | `list[str] \| tuple[str, ...] \| None`        | `None`  | —           |

**Returns** `PullRequestTrigger`

## `push` [#push]

Trigger on a git push.

Pass exactly one of `branch` or `tag`. Each is a glob or list
of globs (`*` matches any chars including `/`; `?` matches one
char).

```python
push(branch=None, tag=None) -> PushTrigger
```

| Parameter | Type                                          | Default | Description |
| --------- | --------------------------------------------- | ------- | ----------- |
| `branch`  | `str \| list[str] \| tuple[str, ...] \| None` | `None`  | —           |
| `tag`     | `str \| list[str] \| tuple[str, ...] \| None` | `None`  | —           |

**Returns** `PushTrigger`

## `schedule` [#schedule]

Trigger on a UTC cron schedule.

`cron` is a five-field crontab expression (minute hour day month
dow). Always interpreted as UTC.

```python
schedule(cron) -> ScheduleTrigger
```

| Parameter | Type  | Default    | Description |
| --------- | ----- | ---------- | ----------- |
| `cron`    | `str` | *required* | —           |

**Returns** `ScheduleTrigger`
