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", "email": "alex.doe@example.com", "name": "Alex Doe", "username": "alexdoe" }, "committer": { "date": "2026-03-10T14:22:11+01:00", "email": "noreply@example.com", "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", "email": "alex.doe@example.com", "name": "Alex Doe", "username": "alexdoe" }, "committer": { "date": "2026-03-10T14:22:11+01:00", "email": "noreply@example.com", "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": { "email": "alex.doe@example.com", "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, "ssh_url": "git@github.com:example-org/example-repo.git", "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": { "email": "alex.doe@example.com", "name": "Alex Doe" }, "committer": { "email": "noreply@example.com", "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", "ssh_url": "git@github.com:example-org/example-repo.git", "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"}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"}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"}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"}