Stitch / docs
GitHub triggers

GitHub triggers

Ten supported event types, with event-specific filters and guard scopes.

Connect the repository through the Stitch GitHub App. Set provider: github. Select one eventType and one or more supported actions per trigger.

Event types

EventUse
issuesIssue lifecycle and labels
pull_requestPR lifecycle and updates
issue_commentIssue or PR conversation comments
pull_request_reviewReview submissions and state
pull_request_review_commentInline review comments
pull_request_review_threadResolve or reopen review threads
pushRepository pushes
check_runCheck completion or rerequest
workflow_runWorkflow completion or request
releaseRelease creation or publication

Schema

Triggers schema. Each event page links its own input schema. Examples on event pages are entries in triggers, not complete factory files. Create the referenced harness and sandbox first. JSON Schema describes field shapes; stitch validate enforces event/filter compatibility.

Filters

Filter lists generally allow at most 50 entries. actions needs 1–20 unique entries. Supported filters vary by event; do not copy an unsupported field from another page.

FieldMatching
labelsRepository label names resolved during full validation
labelOperatorhas_any (default), has_all, has_none, is_empty
labelScopecurrent (default) or changed
branchesAny available branch; patterns support *, **, ?
sourceBranches, targetBranchesPR head/base branches; same patterns
pathPrefixesRepository-relative file/directory prefixes; no wildcards or ./.. segments
commentKeywordsCase-insensitive substring match; any selected keyword
mentionedLoginsCase-insensitive match against mentioned GitHub logins
commandsExact first word after leading whitespace, such as /review
actorLoginsCase-insensitive event sender login match
authorAssociationsGitHub association values, such as OWNER, MEMBER, COLLABORATOR
ignoreBotsExclude bot senders; defaults to false
ignoreDraftsExclude draft PRs; defaults to false

Changed-label scope accepts only labeled/unlabeled actions and needs labels. is_empty forbids a labels list; has_all/has_none require one. Changed-label has_all cannot select multiple labels. Comment matching requires selectors or matchAllComments: true, never both.

Guards

Use the scopes on each event page plus delivery for deduplicate. Check guard type restrictions in Triggers. Subject/commit scopes are invalid when the event does not support those identities.

On this page