Skip to content

GitHub

Manage and react to changes in your GitHub repositories

The On Branch Created trigger starts a workflow execution when a new branch is created in a GitHub repository.

  • 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
  • Repository: Select the GitHub repository to monitor
  • Branches: Configure which branches to listen for using predicates (e.g., equals “main”, starts with “feature-”)

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

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.

{
"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"
}

The On Issue trigger starts a workflow execution when issue events occur in a GitHub repository.

  • 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
  • Repository: Select the GitHub repository to monitor
  • Actions: Select which issue actions to listen for (opened, closed, reopened, etc.)

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

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.

{
"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"
}

The On Issue Comment trigger starts a workflow execution when comments are added to issues.

  • 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
  • Repository: Select the GitHub repository to monitor
  • Content Filter: Optional regex pattern to filter comments (e.g., /solve to only trigger on comments containing “/solve”)

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

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.

{
"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"
}

The On PR Comment trigger starts a workflow execution when comments are added to pull requests.

  • 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
  • Repository: Select the GitHub repository to monitor
  • Content Filter: Optional regex pattern to filter comments (e.g., /solve to only trigger on comments containing “/solve”)

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

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.

{
"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"
}

The On Pull Request trigger starts a workflow execution when pull request events occur in a GitHub repository.

  • 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
  • Repository: Select the GitHub repository to monitor
  • Actions: Select which PR actions to listen for (opened, closed, synchronize, etc.)

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

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.

{
"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"
}

The On Push trigger starts a workflow execution when code is pushed to a GitHub repository.

  • 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
  • Repository: Select the GitHub repository to monitor
  • Refs: Configure which branches/tags to monitor (e.g., refs/heads/main, refs/tags/*)

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

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.

{
"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"
}

The On Release trigger starts a workflow execution when release events occur in a GitHub repository.

  • 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
  • Repository: Select the GitHub repository to monitor
  • Actions: Select which release actions to listen for (published, created, etc.)

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

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.

{
"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"
}

The On Tag Created trigger starts a workflow execution when a new tag is created in a GitHub repository.

  • 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
  • Repository: Select the GitHub repository to monitor
  • Tags: Configure which tags to listen for using predicates (e.g., equals “v*”, starts with “release-”)

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

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.

{
"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"
}

The On Workflow Run trigger starts a workflow execution when GitHub Actions workflow runs complete.

  • 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
  • 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)

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

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.

{
"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"
}

The Create Issue component creates a new issue in a specified GitHub repository.

  • 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
  • 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

Returns the created issue object with details including:

  • Issue number
  • URL
  • State
  • Created timestamp
  • All issue metadata
{
"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"
}

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.

  • 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
  • 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)

Returns the created comment object including:

  • Comment ID and URL
  • Comment body
  • Author information
  • Created timestamp
{
"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"
}

The Create Release component creates a new release in a GitHub repository.

  • 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
  • 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

Returns the created release object with all release information including tag, assets, and metadata.

{
"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"
}

The Create Review component submits a pull request review (approve, request changes, or comment) on a GitHub pull request.

  • Automation: Auto-approve when checks pass
  • Quality gates: Request changes when checks fail
  • Bots: Post review feedback
  • 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)

Emits the submitted review object including:

  • id, state, submitted_at
  • body and user
{
"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"
}

The Delete Release component removes a release from a GitHub repository.

  • 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
  • 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)

Returns confirmation of the deletion.

{
"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"
}

The Get Issue component retrieves a specific issue from a GitHub repository by its issue number.

  • 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
  • Repository: Select the GitHub repository containing the issue
  • Issue Number: The issue number to retrieve (supports expressions)

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
{
"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"
}

The Get Release component retrieves release information from a GitHub repository.

  • 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
  • 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)

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
{
"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"
}

The Publish Commit Status component creates a status check on a GitHub commit, commonly used for CI/CD integrations.

  • 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
  • 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)

Returns the created status object with all status information.

{
"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"
}

The Run Workflow component triggers a GitHub Actions workflow and waits for it to complete.

  • 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
  1. Dispatches the specified GitHub Actions workflow with optional inputs
  2. Waits for the workflow run to complete (monitored via webhook and polling)
  3. Routes execution based on workflow conclusion:
    • Passed channel: Workflow completed successfully
    • Failed channel: Workflow failed or was cancelled
  • 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)
  • 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
{
"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"
}

The Update Issue component modifies an existing GitHub issue with new information.

  • 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
  • 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)

Returns the updated issue object with all current information.

{
"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"
}

The Update Release component modifies an existing GitHub release.

  • 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
  • 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

Returns the updated release object with all current information.

{
"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"
}