GitHub
Supports GitHub.com and GitHub Enterprise Server. The richest provider: every action type is available.
Actions: commit_status (+ context_per_task) · check_run · commit_comment · pr_comment · issue_comment · discussion_comment (GraphQL) · deployment_status · label (add/remove, auto-creates missing labels). Comments support mode: upsert.
Authentication
Personal access token — scopes: repo:status for statuses, repo for comments/labels:
scm:
github:
- name: github
enabled: true
auth:
secretRef:
name: github-token # Secret key: token
GitHub App (recommended for orgs — higher rate limits, scoped installs, no personal identity):
auth:
app_id: 123456
installation_id: 7890123
private_key:
secretRef:
name: github-app-key # Secret key: private-key.pem
The App needs Checks, Commit statuses, Pull requests, Issues write permissions (per the actions you enable). App tokens auto-refresh.
Enterprise Server: set base_url: https://ghe.company.example.com/api/v3 (GraphQL endpoint is derived).
Required annotations
scm.provider = instance name; scm.repo-owner + scm.repo-name; plus per action: scm.commit-sha (status/check/commit_comment/deployment), scm.pr-number, scm.issue-number, scm.discussion-number. See Annotations.
Comment templates
Comment/check-run bodies are optional templates: supply an inline string, a configmapRef: {name, key} pointing at a shipped or custom ConfigMap template, or omit it for the built-in "Build <State> for <RunName>" body. The chart ships github-pr-comment.tmpl, github-issue-comment.tmpl, github-discussion-comment.tmpl, and github-checkrun.tmpl as opt-in configmapRef examples. See Actions → Comment templates are optional.
Notes
deployment_statusshows runs in the repo’s Environments tab; environment name =scm.context(defaultproduction).- Check runs render the template as markdown in the check output; statuses use
Contextas the check name — make required checks granular withcontext_per_task. - Field limits (label 50 chars, status description 140, …) are validated before sending.