GitHub
Manage and react to changes in your GitHub repositories
Triggers
Section titled “Triggers”Actions
Section titled “Actions”On Branch Created
Section titled “On Branch Created”The On Branch Created trigger starts a workflow execution when a new branch is created in a GitHub repository.
Use Cases
Section titled “Use Cases”- Branch automation: Set up environments or resources for new branches
- Branch validation: Validate branch naming conventions
- Notification workflows: Notify teams when important branches are created
- Branch processing: Process or configure branches automatically
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository to monitor
- Branches: Configure which branches to listen for using predicates (e.g., equals “main”, starts with “feature-”)
Event Data
Section titled “Event Data”Each branch event includes:
- ref: The branch reference (e.g., “refs/heads/feature/new-feature”)
- ref_type: Type of reference (branch)
- repository: Repository information
- sender: User who created the branch
Webhook Setup
Section titled “Webhook Setup”This trigger automatically sets up a GitHub webhook when configured. The webhook is managed by SuperPlane and will be cleaned up when the trigger is removed.
Example Data
Section titled “Example Data”{ "data": { "description": "Example repository for webhook payloads", "master_branch": "main", "pusher_type": "user", "ref": "feature/new-endpoint", "ref_type": "branch", "repository": { "full_name": "acme/widgets", "html_url": "https://github.com/acme/widgets", "id": 123456 }, "sender": { "html_url": "https://github.com/octocat", "id": 101, "login": "octocat" } }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.branchCreated"}On Issue
Section titled “On Issue”The On Issue trigger starts a workflow execution when issue events occur in a GitHub repository.
Use Cases
Section titled “Use Cases”- Issue automation: Automate responses to new or updated issues
- Notification workflows: Send notifications when issues are created or closed
- Task management: Sync issues with external task management systems
- Label automation: Automatically label or categorize issues
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository to monitor
- Actions: Select which issue actions to listen for (opened, closed, reopened, etc.)
Event Data
Section titled “Event Data”Each issue event includes:
- action: The action that triggered the event (opened, closed, reopened, etc.)
- issue: Complete issue information including title, body, state, labels, assignees
- repository: Repository information
- sender: User who triggered the event
Webhook Setup
Section titled “Webhook Setup”This trigger automatically sets up a GitHub webhook when configured. The webhook is managed by SuperPlane and will be cleaned up when the trigger is removed.
Example Data
Section titled “Example Data”{ "data": { "action": "opened", "assignee": null, "issue": { "html_url": "https://github.com/acme/widgets/issues/42", "number": 42, "state": "open", "title": "Fix flaky build", "user": { "login": "octocat" } }, "repository": { "full_name": "acme/widgets", "html_url": "https://github.com/acme/widgets", "id": 123456 }, "sender": { "html_url": "https://github.com/octocat", "id": 101, "login": "octocat" } }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.issue"}On Issue Comment
Section titled “On Issue Comment”The On Issue Comment trigger starts a workflow execution when comments are added to issues.
Use Cases
Section titled “Use Cases”- Command processing: Process slash commands in issue comments (e.g., /assign, /close)
- Bot interactions: Respond to comments with automated actions
- Issue automation: Automate issue management based on comment content
- Notification systems: Notify teams when important comments are added
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository to monitor
- Content Filter: Optional regex pattern to filter comments (e.g.,
/solveto only trigger on comments containing “/solve”)
Event Data
Section titled “Event Data”Each comment event includes:
- comment: Comment information including body, author, created timestamp
- issue: Issue information the comment was added to
- repository: Repository information
- sender: User who added the comment
Webhook Setup
Section titled “Webhook Setup”This trigger automatically sets up a GitHub webhook when configured. The webhook is managed by SuperPlane and will be cleaned up when the trigger is removed.
Example Data
Section titled “Example Data”{ "data": { "action": "created", "comment": { "body": "I can reproduce this", "html_url": "https://github.com/acme/widgets/issues/42#issuecomment-5001", "id": 5001 }, "issue": { "html_url": "https://github.com/acme/widgets/issues/42", "number": 42, "title": "Fix flaky build" }, "repository": { "full_name": "acme/widgets", "html_url": "https://github.com/acme/widgets", "id": 123456 }, "sender": { "html_url": "https://github.com/octocat", "id": 101, "login": "octocat" } }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.issueComment"}On PR Comment
Section titled “On PR Comment”The On PR Comment trigger starts a workflow execution when comments are added to pull requests.
Use Cases
Section titled “Use Cases”- Command processing: Process slash commands in PR comments (e.g., /deploy, /test)
- Bot interactions: Respond to comments with automated actions
- Review automation: Trigger workflows based on comment content
- Notification systems: Notify teams when important comments are added
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository to monitor
- Content Filter: Optional regex pattern to filter comments (e.g.,
/solveto only trigger on comments containing “/solve”)
Event Data
Section titled “Event Data”Each comment event includes:
- comment: Comment information including body, author, created timestamp
- pull_request: PR information the comment was added to
- repository: Repository information
- sender: User who added the comment
Webhook Setup
Section titled “Webhook Setup”This trigger automatically sets up a GitHub webhook when configured. The webhook is managed by SuperPlane and will be cleaned up when the trigger is removed.
Example Data
Section titled “Example Data”{ "data": { "action": "created", "comment": { "body": "Looks good to me", "html_url": "https://github.com/acme/widgets/pull/101#discussion_r7001", "id": 7001 }, "pull_request": { "html_url": "https://github.com/acme/widgets/pull/101", "number": 101, "title": "Add new endpoint" }, "repository": { "full_name": "acme/widgets", "html_url": "https://github.com/acme/widgets", "id": 123456 }, "sender": { "html_url": "https://github.com/octocat", "id": 101, "login": "octocat" } }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.pullRequestReviewComment"}On Pull Request
Section titled “On Pull Request”The On Pull Request trigger starts a workflow execution when pull request events occur in a GitHub repository.
Use Cases
Section titled “Use Cases”- PR automation: Automate actions when PRs are opened, merged, or closed
- Code review workflows: Trigger review processes or notifications
- CI/CD integration: Run tests or builds on PR events
- Status updates: Update systems when PR status changes
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository to monitor
- Actions: Select which PR actions to listen for (opened, closed, synchronize, etc.)
Event Data
Section titled “Event Data”Each PR event includes:
- action: The action that triggered the event (opened, closed, synchronize, etc.)
- pull_request: Complete PR information including title, body, state, labels
- repository: Repository information
- sender: User who triggered the event
Webhook Setup
Section titled “Webhook Setup”This trigger automatically sets up a GitHub webhook when configured. The webhook is managed by SuperPlane and will be cleaned up when the trigger is removed.
Example Data
Section titled “Example Data”{ "data": { "action": "opened", "assignee": null, "number": 101, "pull_request": { "html_url": "https://github.com/acme/widgets/pull/101", "number": 101, "state": "open", "title": "Add new endpoint", "user": { "login": "octocat" } }, "repository": { "full_name": "acme/widgets", "html_url": "https://github.com/acme/widgets", "id": 123456 }, "sender": { "html_url": "https://github.com/octocat", "id": 101, "login": "octocat" } }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.pullRequest"}On Push
Section titled “On Push”The On Push trigger starts a workflow execution when code is pushed to a GitHub repository.
Use Cases
Section titled “Use Cases”- CI/CD automation: Trigger builds and deployments on code pushes
- Code quality checks: Run linting and tests on every push
- Notification workflows: Send notifications when code is pushed
- Documentation updates: Automatically update documentation on push
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository to monitor
- Refs: Configure which branches/tags to monitor (e.g.,
refs/heads/main,refs/tags/*)
Event Data
Section titled “Event Data”Each push event includes:
- repository: Repository information
- ref: The branch or tag that was pushed to
- commits: Array of commit information
- pusher: Information about who pushed
- before/after: Commit SHAs before and after the push
Webhook Setup
Section titled “Webhook Setup”This trigger automatically sets up a GitHub webhook when configured. The webhook is managed by SuperPlane and will be cleaned up when the trigger is removed.
Example Data
Section titled “Example Data”{ "data": { "after": "4f9c2e1a7b3d45c0d1e9f23456789abcdeffed01", "base_ref": null, "before": "1a2b3c4d5e6f708192a3b4c5d6e7f8090a1b2c3d", "commits": [ { "added": [], "author": { "date": "2026-03-10T14:22:11+01:00", "name": "Alex Doe", "username": "alexdoe" }, "committer": { "date": "2026-03-10T14:22:11+01:00", "name": "GitHub", "username": "web-flow" }, "distinct": true, "id": "4f9c2e1a7b3d45c0d1e9f23456789abcdeffed01", "message": "feat: add lightweight metrics endpoint (#42)\n\nAdds a basic /metrics handler with a minimal gauge.", "modified": [ "cmd/server/main.go", "pkg/metrics/handler.go", "docs/metrics.md" ], "removed": [], "timestamp": "2026-03-10T14:22:11+01:00", "tree_id": "7a8b9c0d1e2f3a4b5c6d7e8f90123456789abcde", "url": "https://github.com/example-org/example-repo/commit/4f9c2e1a7b3d45c0d1e9f23456789abcdeffed01" } ], "compare": "https://github.com/example-org/example-repo/compare/1a2b3c4d5e6f...4f9c2e1a7b3d", "created": false, "deleted": false, "forced": false, "head_commit": { "added": [], "author": { "date": "2026-03-10T14:22:11+01:00", "name": "Alex Doe", "username": "alexdoe" }, "committer": { "date": "2026-03-10T14:22:11+01:00", "name": "GitHub", "username": "web-flow" }, "distinct": true, "id": "4f9c2e1a7b3d45c0d1e9f23456789abcdeffed01", "message": "feat: add lightweight metrics endpoint (#42)\n\nAdds a basic /metrics handler with a minimal gauge.", "modified": [ "cmd/server/main.go", "pkg/metrics/handler.go", "docs/metrics.md" ], "removed": [], "timestamp": "2026-03-10T14:22:11+01:00", "tree_id": "7a8b9c0d1e2f3a4b5c6d7e8f90123456789abcde", "url": "https://github.com/example-org/example-repo/commit/4f9c2e1a7b3d45c0d1e9f23456789abcdeffed01" }, "organization": { "avatar_url": "https://avatars.githubusercontent.com/u/12345678?v=4", "description": "Example organization for demo data", "events_url": "https://api.github.com/orgs/example-org/events", "hooks_url": "https://api.github.com/orgs/example-org/hooks", "id": 12345678, "issues_url": "https://api.github.com/orgs/example-org/issues", "login": "example-org", "members_url": "https://api.github.com/orgs/example-org/members{/member}", "node_id": "O_kgDOBb1AaA", "public_members_url": "https://api.github.com/orgs/example-org/public_members{/member}", "repos_url": "https://api.github.com/orgs/example-org/repos", "url": "https://api.github.com/orgs/example-org" }, "pusher": { "name": "alexdoe" }, "ref": "refs/heads/main", "repository": { "allow_forking": true, "archive_url": "https://api.github.com/repos/example-org/example-repo/{archive_format}{/ref}", "archived": false, "assignees_url": "https://api.github.com/repos/example-org/example-repo/assignees{/user}", "blobs_url": "https://api.github.com/repos/example-org/example-repo/git/blobs{/sha}", "branches_url": "https://api.github.com/repos/example-org/example-repo/branches{/branch}", "clone_url": "https://github.com/example-org/example-repo.git", "collaborators_url": "https://api.github.com/repos/example-org/example-repo/collaborators{/collaborator}", "comments_url": "https://api.github.com/repos/example-org/example-repo/comments{/number}", "commits_url": "https://api.github.com/repos/example-org/example-repo/commits{/sha}", "compare_url": "https://api.github.com/repos/example-org/example-repo/compare/{base}...{head}", "contents_url": "https://api.github.com/repos/example-org/example-repo/contents/{+path}", "contributors_url": "https://api.github.com/repos/example-org/example-repo/contributors", "created_at": 1746900000, "custom_properties": {}, "default_branch": "main", "deployments_url": "https://api.github.com/repos/example-org/example-repo/deployments", "description": "Example repository for webhook payloads", "disabled": false, "downloads_url": "https://api.github.com/repos/example-org/example-repo/downloads", "events_url": "https://api.github.com/repos/example-org/example-repo/events", "fork": false, "forks": 2, "forks_count": 2, "forks_url": "https://api.github.com/repos/example-org/example-repo/forks", "full_name": "example-org/example-repo", "git_commits_url": "https://api.github.com/repos/example-org/example-repo/git/commits{/sha}", "git_refs_url": "https://api.github.com/repos/example-org/example-repo/git/refs{/sha}", "git_tags_url": "https://api.github.com/repos/example-org/example-repo/git/tags{/sha}", "git_url": "git://github.com/example-org/example-repo.git", "has_discussions": false, "has_downloads": true, "has_issues": true, "has_pages": false, "has_projects": true, "has_wiki": false, "homepage": null, "hooks_url": "https://api.github.com/repos/example-org/example-repo/hooks", "html_url": "https://github.com/example-org/example-repo", "id": 987654321, "is_template": false, "issue_comment_url": "https://api.github.com/repos/example-org/example-repo/issues/comments{/number}", "issue_events_url": "https://api.github.com/repos/example-org/example-repo/issues/events{/number}", "issues_url": "https://api.github.com/repos/example-org/example-repo/issues{/number}", "keys_url": "https://api.github.com/repos/example-org/example-repo/keys{/key_id}", "labels_url": "https://api.github.com/repos/example-org/example-repo/labels{/name}", "language": "TypeScript", "languages_url": "https://api.github.com/repos/example-org/example-repo/languages", "license": { "key": "apache-2.0", "name": "Apache License 2.0", "node_id": "MDc6TGljZW5zZTI=", "spdx_id": "Apache-2.0", "url": "https://api.github.com/licenses/apache-2.0" }, "master_branch": "main", "merges_url": "https://api.github.com/repos/example-org/example-repo/merges", "milestones_url": "https://api.github.com/repos/example-org/example-repo/milestones{/number}", "mirror_url": null, "name": "example-repo", "node_id": "R_kgDOAbCdEf", "notifications_url": "https://api.github.com/repos/example-org/example-repo/notifications{?since,all,participating}", "open_issues": 5, "open_issues_count": 5, "organization": "example-org", "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/12345678?v=4", "email": null, "events_url": "https://api.github.com/users/example-org/events{/privacy}", "followers_url": "https://api.github.com/users/example-org/followers", "following_url": "https://api.github.com/users/example-org/following{/other_user}", "gists_url": "https://api.github.com/users/example-org/gists{/gist_id}", "gravatar_id": "", "html_url": "https://github.com/example-org", "id": 12345678, "login": "example-org", "name": "example-org", "node_id": "O_kgDOBb1AaA", "organizations_url": "https://api.github.com/users/example-org/orgs", "received_events_url": "https://api.github.com/users/example-org/received_events", "repos_url": "https://api.github.com/users/example-org/repos", "site_admin": false, "starred_url": "https://api.github.com/users/example-org/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/example-org/subscriptions", "type": "Organization", "url": "https://api.github.com/users/example-org", "user_view_type": "public" }, "private": false, "pulls_url": "https://api.github.com/repos/example-org/example-repo/pulls{/number}", "pushed_at": 1760000000, "releases_url": "https://api.github.com/repos/example-org/example-repo/releases{/id}", "size": 48200, "stargazers": 3, "stargazers_count": 3, "stargazers_url": "https://api.github.com/repos/example-org/example-repo/stargazers", "statuses_url": "https://api.github.com/repos/example-org/example-repo/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/example-org/example-repo/subscribers", "subscription_url": "https://api.github.com/repos/example-org/example-repo/subscription", "svn_url": "https://github.com/example-org/example-repo", "tags_url": "https://api.github.com/repos/example-org/example-repo/tags", "teams_url": "https://api.github.com/repos/example-org/example-repo/teams", "topics": [], "trees_url": "https://api.github.com/repos/example-org/example-repo/git/trees{/sha}", "updated_at": "2026-03-10T13:50:00Z", "url": "https://api.github.com/repos/example-org/example-repo", "visibility": "public", "watchers": 3, "watchers_count": 3, "web_commit_signoff_required": false }, "sender": { "avatar_url": "https://avatars.githubusercontent.com/u/87654321?v=4", "events_url": "https://api.github.com/users/octo-user/events{/privacy}", "followers_url": "https://api.github.com/users/octo-user/followers", "following_url": "https://api.github.com/users/octo-user/following{/other_user}", "gists_url": "https://api.github.com/users/octo-user/gists{/gist_id}", "gravatar_id": "", "html_url": "https://github.com/octo-user", "id": 87654321, "login": "octo-user", "node_id": "MDQ6VXNlcjg3NjU0MzIx", "organizations_url": "https://api.github.com/users/octo-user/orgs", "received_events_url": "https://api.github.com/users/octo-user/received_events", "repos_url": "https://api.github.com/users/octo-user/repos", "site_admin": false, "starred_url": "https://api.github.com/users/octo-user/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octo-user/subscriptions", "type": "User", "url": "https://api.github.com/users/octo-user", "user_view_type": "public" } }, "timestamp": "2026-03-10T13:35:00.31254162Z", "type": "github.push"}On Release
Section titled “On Release”The On Release trigger starts a workflow execution when release events occur in a GitHub repository.
Use Cases
Section titled “Use Cases”- Deployment automation: Trigger deployments when releases are published
- Notification workflows: Send notifications about new releases
- Release processing: Process release artifacts or metadata
- Distribution workflows: Distribute releases to multiple systems
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository to monitor
- Actions: Select which release actions to listen for (published, created, etc.)
Event Data
Section titled “Event Data”Each release event includes:
- action: The action that triggered the event (published, created, etc.)
- release: Complete release information including tag, name, body, assets
- repository: Repository information
- sender: User who triggered the event
Webhook Setup
Section titled “Webhook Setup”This trigger automatically sets up a GitHub webhook when configured. The webhook is managed by SuperPlane and will be cleaned up when the trigger is removed.
Example Data
Section titled “Example Data”{ "data": { "action": "published", "release": { "html_url": "https://github.com/acme/widgets/releases/tag/v1.2.3", "id": 3001, "name": "Release 1.2.3", "tag_name": "v1.2.3" }, "repository": { "full_name": "acme/widgets", "html_url": "https://github.com/acme/widgets", "id": 123456 }, "sender": { "html_url": "https://github.com/octocat", "id": 101, "login": "octocat" } }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.release"}On Tag Created
Section titled “On Tag Created”The On Tag Created trigger starts a workflow execution when a new tag is created in a GitHub repository.
Use Cases
Section titled “Use Cases”- Version tagging: Trigger workflows when version tags are created
- Release automation: Automatically create releases from tags
- Deployment triggers: Deploy specific versions based on tags
- Tag processing: Process or validate tags as they’re created
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository to monitor
- Tags: Configure which tags to listen for using predicates (e.g., equals “v*”, starts with “release-”)
Event Data
Section titled “Event Data”Each tag event includes:
- ref: The tag reference (e.g., “refs/tags/v1.0.0”)
- ref_type: Type of reference (tag)
- repository: Repository information
- sender: User who created the tag
Webhook Setup
Section titled “Webhook Setup”This trigger automatically sets up a GitHub webhook when configured. The webhook is managed by SuperPlane and will be cleaned up when the trigger is removed.
Example Data
Section titled “Example Data”{ "data": { "description": "Example repository for webhook payloads", "master_branch": "main", "pusher_type": "user", "ref": "v1.2.3", "ref_type": "tag", "repository": { "full_name": "acme/widgets", "html_url": "https://github.com/acme/widgets", "id": 123456 }, "sender": { "html_url": "https://github.com/octocat", "id": 101, "login": "octocat" } }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.tagCreated"}On Workflow Run
Section titled “On Workflow Run”The On Workflow Run trigger starts a workflow execution when GitHub Actions workflow runs complete.
Use Cases
Section titled “Use Cases”- Workflow orchestration: Chain workflows together based on completion
- Status monitoring: Monitor CI/CD pipeline results
- Notification workflows: Send notifications when workflows succeed or fail
- Post-processing: Process artifacts or results after workflow completion
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository to monitor
- Conclusions: Select which workflow conclusions to listen for (success, failure, cancelled, etc.)
- Workflow Files: Optional list of specific workflow files to monitor (leave empty for all workflows)
Event Data
Section titled “Event Data”Each workflow run event includes:
- action: The action that triggered the event (completed, requested, etc.)
- workflow_run: Complete workflow run information including status, conclusion, logs URL
- repository: Repository information
- sender: User who triggered the workflow
Webhook Setup
Section titled “Webhook Setup”This trigger automatically sets up a GitHub webhook when configured. The webhook is managed by SuperPlane and will be cleaned up when the trigger is removed.
Example Data
Section titled “Example Data”{ "data": { "action": "completed", "organization": { "avatar_url": "https://avatars.githubusercontent.com/u/12345678?v=4", "description": "Example organization for demo data", "events_url": "https://api.github.com/orgs/example-org/events", "hooks_url": "https://api.github.com/orgs/example-org/hooks", "id": 12345678, "issues_url": "https://api.github.com/orgs/example-org/issues", "login": "example-org", "members_url": "https://api.github.com/orgs/example-org/members{/member}", "node_id": "O_kgDOBb1AaA", "public_members_url": "https://api.github.com/orgs/example-org/public_members{/member}", "repos_url": "https://api.github.com/orgs/example-org/repos", "url": "https://api.github.com/orgs/example-org" }, "repository": { "created_at": "2024-05-10T12:00:00Z", "default_branch": "main", "description": "Example repository for webhook payloads", "fork": false, "full_name": "example-org/example-repo", "html_url": "https://github.com/example-org/example-repo", "id": 987654321, "name": "example-repo", "node_id": "R_kgDOAbCdEf", "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/12345678?v=4", "gravatar_id": "", "html_url": "https://github.com/example-org", "id": 12345678, "login": "example-org", "node_id": "O_kgDOBb1AaA", "site_admin": false, "type": "Organization", "url": "https://api.github.com/users/example-org" }, "private": false, "pushed_at": "2026-03-10T14:22:11Z", "updated_at": "2026-03-10T13:50:00Z", "url": "https://api.github.com/repos/example-org/example-repo" }, "sender": { "avatar_url": "https://avatars.githubusercontent.com/u/87654321?v=4", "gravatar_id": "", "html_url": "https://github.com/alexdoe", "id": 87654321, "login": "alexdoe", "node_id": "MDQ6VXNlcjg3NjU0MzIx", "site_admin": false, "type": "User", "url": "https://api.github.com/users/alexdoe" }, "workflow": { "badge_url": "https://github.com/example-org/example-repo/workflows/CI/badge.svg", "created_at": "2024-05-10T12:00:00Z", "html_url": "https://github.com/example-org/example-repo/actions/workflows/ci.yml", "id": 9876543, "name": "CI", "node_id": "W_kwDOBb1AaA0123456", "path": ".github/workflows/ci.yml", "state": "active", "updated_at": "2026-03-01T10:00:00Z", "url": "https://api.github.com/repos/example-org/example-repo/actions/workflows/9876543" }, "workflow_run": { "actor": { "avatar_url": "https://avatars.githubusercontent.com/u/87654321?v=4", "gravatar_id": "", "html_url": "https://github.com/alexdoe", "id": 87654321, "login": "alexdoe", "node_id": "MDQ6VXNlcjg3NjU0MzIx", "site_admin": false, "type": "User", "url": "https://api.github.com/users/alexdoe" }, "artifacts_url": "https://api.github.com/repos/example-org/example-repo/actions/runs/12345678901/artifacts", "cancel_url": "https://api.github.com/repos/example-org/example-repo/actions/runs/12345678901/cancel", "check_suite_id": 11223344556, "check_suite_node_id": "CS_kwDOBb1AaA0000000", "check_suite_url": "https://api.github.com/repos/example-org/example-repo/check-suites/11223344556", "conclusion": "success", "created_at": "2026-03-10T14:22:11Z", "event": "push", "head_branch": "main", "head_commit": { "author": { "name": "Alex Doe" }, "committer": { "name": "GitHub" }, "id": "4f9c2e1a7b3d45c0d1e9f23456789abcdeffed01", "message": "feat: add lightweight metrics endpoint (#42)\n\nAdds a basic /metrics handler with a minimal gauge.", "timestamp": "2026-03-10T14:22:11+01:00", "tree_id": "7a8b9c0d1e2f3a4b5c6d7e8f90123456789abcde" }, "head_repository": { "description": "Example repository for webhook payloads", "fork": false, "full_name": "example-org/example-repo", "html_url": "https://github.com/example-org/example-repo", "id": 987654321, "name": "example-repo", "node_id": "R_kgDOAbCdEf", "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/12345678?v=4", "gravatar_id": "", "html_url": "https://github.com/example-org", "id": 12345678, "login": "example-org", "node_id": "O_kgDOBb1AaA", "site_admin": false, "type": "Organization", "url": "https://api.github.com/users/example-org" }, "private": false, "url": "https://api.github.com/repos/example-org/example-repo" }, "head_sha": "4f9c2e1a7b3d45c0d1e9f23456789abcdeffed01", "html_url": "https://github.com/example-org/example-repo/actions/runs/12345678901", "id": 12345678901, "jobs_url": "https://api.github.com/repos/example-org/example-repo/actions/runs/12345678901/jobs", "logs_url": "https://api.github.com/repos/example-org/example-repo/actions/runs/12345678901/logs", "name": "CI", "node_id": "WFR_kwLOBb1AaA123456789", "path": ".github/workflows/ci.yml", "pull_requests": [], "referenced_workflows": [], "repository": { "clone_url": "https://github.com/example-org/example-repo.git", "created_at": "2024-05-10T12:00:00Z", "default_branch": "main", "description": "Example repository for webhook payloads", "fork": false, "full_name": "example-org/example-repo", "git_url": "git://github.com/example-org/example-repo.git", "html_url": "https://github.com/example-org/example-repo", "id": 987654321, "name": "example-repo", "node_id": "R_kgDOAbCdEf", "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/12345678?v=4", "gravatar_id": "", "html_url": "https://github.com/example-org", "id": 12345678, "login": "example-org", "node_id": "O_kgDOBb1AaA", "site_admin": false, "type": "Organization", "url": "https://api.github.com/users/example-org" }, "private": false, "pushed_at": "2026-03-10T14:22:11Z", "updated_at": "2026-03-10T13:50:00Z", "url": "https://api.github.com/repos/example-org/example-repo" }, "rerun_url": "https://api.github.com/repos/example-org/example-repo/actions/runs/12345678901/rerun", "run_attempt": 1, "run_number": 42, "run_started_at": "2026-03-10T14:22:11Z", "status": "completed", "triggering_actor": { "avatar_url": "https://avatars.githubusercontent.com/u/87654321?v=4", "gravatar_id": "", "html_url": "https://github.com/alexdoe", "id": 87654321, "login": "alexdoe", "node_id": "MDQ6VXNlcjg3NjU0MzIx", "site_admin": false, "type": "User", "url": "https://api.github.com/users/alexdoe" }, "updated_at": "2026-03-10T14:25:30Z", "url": "https://api.github.com/repos/example-org/example-repo/actions/runs/12345678901", "workflow_id": 9876543, "workflow_url": "https://api.github.com/repos/example-org/example-repo/actions/workflows/9876543" } }, "timestamp": "2026-03-10T14:25:30.31254162Z", "type": "github.workflowRun"}Add Issue Assignee
Section titled “Add Issue Assignee”The Add Issue Assignee component adds one or more assignees to an existing GitHub issue without affecting existing assignees.
Use Cases
Section titled “Use Cases”- Auto-assignment: Automatically assign issues to team members based on workflow triggers
- Escalation: Add additional assignees when issues require attention from specific people
- On-call routing: Assign issues to the current on-call engineer
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository containing the issue
- Issue Number: The issue number to add assignees to (supports expressions)
- Assignees: List of GitHub usernames to assign to the issue
Output
Section titled “Output”Returns the updated issue object with all current information.
Example Output
Section titled “Example Output”{ "data": { "assignees": [ { "id": 1, "login": "octocat" } ], "html_url": "https://github.com/acme/widgets/issues/42", "id": 101, "number": 42, "state": "open", "title": "Fix flaky build" }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.issue"}Add Issue Label
Section titled “Add Issue Label”The Add Issue Label component adds one or more labels to an existing GitHub issue without affecting existing labels.
Use Cases
Section titled “Use Cases”- Triage automation: Automatically label issues based on content or source
- Status tracking: Add status labels as issues move through workflows
- Priority tagging: Apply priority labels based on external signals
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository containing the issue
- Issue Number: The issue number to add labels to (supports expressions)
- Labels: List of label names to add to the issue
Output
Section titled “Output”Returns the full list of labels currently on the issue after the addition.
Example Output
Section titled “Example Output”{ "data": [ { "color": "d73a4a", "default": true, "description": "Something isn't working", "id": 208045946, "name": "bug" }, { "color": "a2eeef", "default": true, "description": "New feature or request", "id": 208045947, "name": "enhancement" } ], "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.labels"}Create Issue
Section titled “Create Issue”The Create Issue component creates a new issue in a specified GitHub repository.
Use Cases
Section titled “Use Cases”- Automated bug reporting: Create issues automatically when errors are detected
- Task creation: Generate issues from external systems or workflows
- Notification tracking: Convert notifications into trackable issues
- Workflow automation: Create issues as part of automated processes
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository where the issue will be created
- Title: The issue title (supports expressions)
- Body: The issue body/description (supports markdown and expressions)
- Assignees: Optional list of GitHub usernames to assign the issue to
- Labels: Optional list of labels to apply to the issue
Output
Section titled “Output”Returns the created issue object with details including:
- Issue number
- URL
- State
- Created timestamp
- All issue metadata
Example Output
Section titled “Example Output”{ "data": { "html_url": "https://github.com/acme/widgets/issues/42", "id": 101, "number": 42, "state": "open", "title": "Fix flaky build", "user": { "login": "octocat" } }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.issue"}Create Issue Comment
Section titled “Create Issue Comment”The Create Issue Comment component adds a comment to an existing GitHub issue or pull request. Issues and pull requests share the same comment API in GitHub.
Use Cases
Section titled “Use Cases”- Deployment updates: Post deployment status or remediation updates to GitHub issues
- Runbook linking: Add runbook links, error details, or status for responders
- Cross-platform sync: Sync Slack or PagerDuty notes into GitHub as comments
- Automated comments: Add automated comments based on workflow events
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository containing the issue
- Issue Number: The issue or PR number to comment on (supports expressions)
- Body: The comment text (supports Markdown and expressions)
Output
Section titled “Output”Returns the created comment object including:
- Comment ID and URL
- Comment body
- Author information
- Created timestamp
Example Output
Section titled “Example Output”{ "data": { "body": "Deployment to production completed successfully.", "created_at": "2026-01-16T17:56:16Z", "html_url": "https://github.com/acme/widgets/issues/42#issuecomment-5001", "id": 5001, "updated_at": "2026-01-16T17:56:16Z", "user": { "login": "superplane-app[bot]" } }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.issueComment"}Create Release
Section titled “Create Release”The Create Release component creates a new release in a GitHub repository.
Use Cases
Section titled “Use Cases”- Automated releases: Create releases automatically after successful builds
- Version management: Tag and release new versions of software
- Deployment automation: Create releases as part of deployment workflows
- Release notes: Automatically generate and publish release notes
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository
- Version Strategy: How to determine the version (manual tag, auto-increment)
- Tag Name: Git tag name for the release (supports expressions)
- Name: Release title/name (optional, supports expressions)
- Body: Release notes/description (optional, supports markdown and expressions)
- Draft: Create as draft release (not published)
- Prerelease: Mark as pre-release
- Generate Release Notes: Automatically generate release notes from commits
Output
Section titled “Output”Returns the created release object with all release information including tag, assets, and metadata.
Example Output
Section titled “Example Output”{ "data": { "draft": false, "html_url": "https://github.com/acme/widgets/releases/tag/v1.2.3", "id": 3001, "name": "Release 1.2.3", "prerelease": false, "tag_name": "v1.2.3" }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.release"}Create Review
Section titled “Create Review”The Create Review component submits a pull request review (approve, request changes, or comment) on a GitHub pull request.
Use Cases
Section titled “Use Cases”- Automation: Auto-approve when checks pass
- Quality gates: Request changes when checks fail
- Bots: Post review feedback
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository
- Pull Number: Pull request number
- Event: APPROVE, REQUEST_CHANGES, or COMMENT
- Body: Optional review body (required for REQUEST_CHANGES and COMMENT)
Output
Section titled “Output”Emits the submitted review object including:
- id, state, submitted_at
- body and user
Example Output
Section titled “Example Output”{ "data": { "body": "LGTM. Approving after successful CI.", "html_url": "https://github.com/acme/widgets/pull/42#pullrequestreview-9001", "id": 9001, "state": "APPROVED", "submitted_at": "2026-01-25T12:34:56Z", "user": { "html_url": "https://github.com/octocat", "id": 1, "login": "octocat" } }, "timestamp": "2026-01-25T12:34:56.000000000Z", "type": "github.pullRequestReview"}Delete Release
Section titled “Delete Release”The Delete Release component removes a release from a GitHub repository.
Use Cases
Section titled “Use Cases”- Cleanup: Remove old or incorrect releases
- Rollback: Delete releases that were created in error
- Maintenance: Clean up draft or test releases
- Automated cleanup: Remove releases as part of maintenance workflows
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository
- Release Strategy: How to find the release (by tag name or latest)
- Tag Name: Git tag name of the release to delete (if using tag strategy)
- Delete Tag: Also delete the associated Git tag (optional)
Output
Section titled “Output”Returns confirmation of the deletion.
Example Output
Section titled “Example Output”{ "data": { "deleted_at": "2026-01-16T17:55:00Z", "draft": false, "html_url": "https://github.com/acme/widgets/releases/tag/v1.2.3", "id": 3001, "name": "Release 1.2.3", "prerelease": false, "tag_deleted": true, "tag_name": "v1.2.3" }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.release"}Get Issue
Section titled “Get Issue”The Get Issue component retrieves a specific issue from a GitHub repository by its issue number.
Use Cases
Section titled “Use Cases”- Issue lookup: Fetch issue details for processing or display
- Workflow automation: Get issue information to make decisions in workflows
- Data enrichment: Retrieve issue data to combine with other information
- Status checking: Check issue status before performing actions
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository containing the issue
- Issue Number: The issue number to retrieve (supports expressions)
Output
Section titled “Output”Returns the complete issue object including:
- Issue number, title, and body
- State (open/closed)
- Labels and assignees
- Created and updated timestamps
- Author information
- Comments count and other metadata
Example Output
Section titled “Example Output”{ "data": { "comments": 3, "html_url": "https://github.com/acme/widgets/issues/42", "id": 101, "number": 42, "state": "open", "title": "Fix flaky build", "user": { "login": "octocat" } }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.issue"}Get Release
Section titled “Get Release”The Get Release component retrieves release information from a GitHub repository.
Use Cases
Section titled “Use Cases”- Release Monitoring: Get details about a specific release
- Deployment Pipelines: Fetch release assets and metadata for deployment
- Version Tracking: Monitor release status and changelog
- CI/CD Integration: Retrieve release information for build processes
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository
- Release Strategy: How to find the release (by tag name, by ID, or latest)
- Tag Name: Git tag name of the release (if using tag strategy)
- Release ID: Numeric release ID (if using ID strategy)
Output
Section titled “Output”Returns release information including:
- Release ID, name, and tag name
- Release body/description
- Draft and prerelease status
- Created and published timestamps
- Author information
- Asset URLs
Example Output
Section titled “Example Output”{ "data": { "assets": [ { "browser_download_url": "https://github.com/acme/widgets/releases/download/v1.2.3/app-v1.2.3.zip", "content_type": "application/zip", "download_count": 42, "id": 1, "label": "Application Bundle", "name": "app-v1.2.3.zip", "size": 1024000 } ], "author": { "avatar_url": "https://github.com/images/error/octocat_happy.gif", "html_url": "https://github.com/octocat", "id": 1, "login": "octocat" }, "body": "## What's Changed\n\n- Feature A\n- Bug fix B", "created_at": "2026-01-15T10:00:00Z", "draft": false, "html_url": "https://github.com/acme/widgets/releases/tag/v1.2.3", "id": 3001, "name": "Release 1.2.3", "prerelease": false, "published_at": "2026-01-16T12:00:00Z", "tag_name": "v1.2.3" }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.release"}Get Workflow Usage
Section titled “Get Workflow Usage”The Get Workflow Usage component retrieves billable GitHub Actions usage (minutes) for the installation’s organization.
Prerequisites
Section titled “Prerequisites”This action calls GitHub’s billing usage API, which requires the GitHub App to have Organization permission: Organization administration (read).
Important: Existing installations will need to approve the new permission when prompted by GitHub. Until the permission is granted, this action will return a 403 error.
Note: This component uses GitHub’s enhanced billing usage report API, which provides detailed usage information.
Behavior
Section titled “Behavior”- Returns billing data for the current billing cycle
- Only private repositories on GitHub-hosted runners accrue billable minutes
- Public repositories and self-hosted runners show zero billable usage
- Can filter by specific repositories when selected
- Uses enhanced billing platform API for accurate reporting
Configuration
Section titled “Configuration”- Repositories (optional, multiselect): Select one or more specific repositories to track. These will be included in the output for reference (max 5) and stored in node metadata with full repository details (ID, name, URL). When repositories are selected, only usage for those repositories is included in the totals.
Output
Section titled “Output”Returns usage data with:
minutes_used: Total billable minutes used in the current billing cycleminutes_used_breakdown: Map of minutes by runner SKU (e.g., “Actions Linux”: 120, “Actions Windows”: 60, “Actions macOS”: 30)included_minutes: Always 0 (not provided by enhanced billing API)total_paid_minutes_used: Estimated paid minutes based on cost datarepositories: List of selected repositories for tracking (max 5)
Note: Breakdown is by runner SKU (OS and type), not by individual workflow.
Node Metadata
Section titled “Node Metadata”The component stores repository information in node metadata:
- Repository ID, name, and URL for each selected repository (max 5)
- This metadata is displayed in the workflow canvas for easy reference
Use Cases
Section titled “Use Cases”- Billing Monitoring: Track GitHub Actions usage for billing purposes
- Quota Management: Monitor usage to avoid exceeding billing quotas
- Cost Control: Alert when usage approaches limits or budget thresholds
- Usage Reporting: Generate monthly or periodic usage reports for compliance
- Resource Planning: Analyze runner usage patterns by OS type
References
Section titled “References”- GitHub Billing Usage API
- GitHub Enhanced Billing Platform
- Permissions required for GitHub Apps - Organization Administration
- Viewing your usage of metered products
Example Output
Section titled “Example Output”{ "data": { "included_minutes": 0, "minutes_used": 1840.5, "minutes_used_breakdown": { "Actions Linux": 1200, "Actions Windows": 400.5, "Actions macOS": 240 }, "repositories": [ "repo1", "repo2", "repo3" ], "total_paid_minutes_used": 150 }, "timestamp": "2026-02-17T20:00:00Z", "type": "github.workflowUsage"}Publish Commit Status
Section titled “Publish Commit Status”The Publish Commit Status component creates a status check on a GitHub commit, commonly used for CI/CD integrations.
Use Cases
Section titled “Use Cases”- CI/CD integration: Report build and test results to GitHub
- Status reporting: Update commit status from external systems
- Deployment tracking: Mark commits as deployed or failed
- Quality gates: Report code quality check results
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository
- Commit SHA: The full 40-character commit SHA (supports expressions)
- State: Status state - pending, success, failure, or error
- Context: A label to identify this status check (e.g., “ci/build”, “deploy/production”)
- Description: Short description of the status (max ~140 characters, optional)
- Target URL: Link to build logs, test results, or deployment details (optional)
Output
Section titled “Output”Returns the created status object with all status information.
Example Output
Section titled “Example Output”{ "data": { "context": "ci/build", "created_at": "2026-01-16T17:45:00Z", "description": "All checks passed", "state": "success", "target_url": "https://ci.example.com/builds/123", "updated_at": "2026-01-16T17:45:10Z" }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.commitStatus"}Remove Issue Assignee
Section titled “Remove Issue Assignee”The Remove Issue Assignee component removes one or more assignees from an existing GitHub issue without affecting other assignees.
Use Cases
Section titled “Use Cases”- De-escalation: Remove assignees when issues are resolved or transferred
- Rotation: Remove previous on-call assignees when rotating responsibilities
- Cleanup: Remove assignees who are no longer involved with an issue
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository containing the issue
- Issue Number: The issue number to remove assignees from (supports expressions)
- Assignees: List of GitHub usernames to remove from the issue
Output
Section titled “Output”Returns the updated issue object with all current information.
Example Output
Section titled “Example Output”{ "data": { "assignees": [], "html_url": "https://github.com/acme/widgets/issues/42", "id": 101, "number": 42, "state": "open", "title": "Fix flaky build" }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.issue"}Remove Issue Label
Section titled “Remove Issue Label”The Remove Issue Label component removes one or more labels from an existing GitHub issue without affecting other labels.
Use Cases
Section titled “Use Cases”- Triage cleanup: Remove temporary triage labels after processing
- Status transitions: Remove old status labels when issues move forward
- Automated cleanup: Strip labels that no longer apply based on workflow events
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository containing the issue
- Issue Number: The issue number to remove labels from (supports expressions)
- Labels: List of label names to remove from the issue
Output
Section titled “Output”Returns the remaining list of labels on the issue after the removal.
Example Output
Section titled “Example Output”{ "data": [ { "color": "a2eeef", "default": true, "description": "New feature or request", "id": 208045947, "name": "enhancement" } ], "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.labels"}Run Workflow
Section titled “Run Workflow”The Run Workflow component triggers a GitHub Actions workflow and waits for it to complete.
Use Cases
Section titled “Use Cases”- CI/CD orchestration: Trigger builds and deployments from SuperPlane workflows
- Automated testing: Run test suites as part of workflow automation
- Multi-stage pipelines: Coordinate complex deployment pipelines
- Workflow chaining: Chain multiple GitHub Actions workflows together
How It Works
Section titled “How It Works”- Dispatches the specified GitHub Actions workflow with optional inputs
- Waits for the workflow run to complete (monitored via webhook and polling)
- Routes execution based on workflow conclusion:
- Passed channel: Workflow completed successfully
- Failed channel: Workflow failed or was cancelled
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository containing the workflow
- Workflow File: Path to the workflow file (e.g.,
.github/workflows/ci.yml) - Branch or Tag: Git reference to run the workflow on (default: main)
- Inputs: Optional workflow inputs as key-value pairs (supports expressions)
Output Channels
Section titled “Output Channels”- Passed: Emitted when workflow completes successfully
- Failed: Emitted when workflow fails or is cancelled
- The component automatically sets up webhook monitoring for workflow completion
- Falls back to polling if webhook doesn’t arrive
- Can be cancelled, which will cancel the running GitHub Actions workflow
Example Output
Section titled “Example Output”{ "data": { "workflow_run": { "conclusion": "success", "html_url": "https://github.com/acme/widgets/actions/runs/9001", "id": 9001, "status": "completed" } }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.workflow.finished"}Update Issue
Section titled “Update Issue”The Update Issue component modifies an existing GitHub issue with new information.
Use Cases
Section titled “Use Cases”- Status updates: Change issue state (open/closed) based on workflow results
- Label management: Add or update labels on issues
- Assignee updates: Assign issues to team members automatically
- Content updates: Update issue title or body with new information
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository containing the issue
- Issue Number: The issue number to update
- Title: New title for the issue (optional, supports expressions)
- Body: New body/description for the issue (optional, supports expressions)
- State: Change issue state to “open” or “closed” (optional)
- Assignees: List of GitHub usernames to assign the issue to (optional)
- Labels: List of labels to apply to the issue (optional)
Output
Section titled “Output”Returns the updated issue object with all current information.
Example Output
Section titled “Example Output”{ "data": { "html_url": "https://github.com/acme/widgets/issues/42", "id": 101, "number": 42, "state": "closed", "title": "Fix flaky build", "updated_at": "2026-01-16T17:40:00Z" }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.issue"}Update Release
Section titled “Update Release”The Update Release component modifies an existing GitHub release.
Use Cases
Section titled “Use Cases”- Release updates: Update release notes or metadata after creation
- Draft to published: Convert draft releases to published releases
- Metadata updates: Update release name, description, or tags
- Prerelease management: Change prerelease status
Configuration
Section titled “Configuration”- Repository: Select the GitHub repository
- Release Strategy: How to find the release (by tag name or latest)
- Tag Name: Git tag name of the release to update (if using tag strategy)
- Name: New release title/name (optional, supports expressions)
- Body: New release notes/description (optional, supports markdown and expressions)
- Draft: Update draft status
- Prerelease: Update prerelease status
- Generate Release Notes: Regenerate release notes from commits
Output
Section titled “Output”Returns the updated release object with all current information.
Example Output
Section titled “Example Output”{ "data": { "draft": false, "html_url": "https://github.com/acme/widgets/releases/tag/v1.2.3", "id": 3001, "name": "Release 1.2.3", "prerelease": false, "tag_name": "v1.2.3", "updated_at": "2026-01-16T17:50:00Z" }, "timestamp": "2026-01-16T17:56:16.680755501Z", "type": "github.release"}