Node reference
GitHub
GitHub node reference - all 127 operations, the credential it needs, and a worked example.
GitHub REST API (Developer tools). 127 operations: issues, issue comments, assignees, labels and milestones; pull requests, reviews, review comments and reviewers; repositories, collaborators, branches, commits and tags; files and Git refs; releases; Actions workflows and runs; search; users, organizations and teams; gists; reactions; repository webhooks.
Credential: GitHub personal access token - see Credentials.
Each operation below lists the scope it needs. Scopes are selected when you create the personal access token (classic scope, or the fine-grained equivalent). If a run fails with a permission error, the node names the missing scope in the error - grant it and re-run; you do not need to rebuild the workflow.
| Operation | What it does | Scope |
|---|
createIssue | Create issue | repo (fine-grained: Issues → Read and write) |
updateIssue | Update / close issue | repo (fine-grained: Issues → Read and write) |
getIssue | Get issue | repo (fine-grained: Issues → Read-only) |
listIssues | List issues | repo (fine-grained: Issues → Read-only) |
listMyIssues | List issues assigned to me | repo (fine-grained: Issues → Read-only) |
lockIssue | Lock issue conversation | repo (fine-grained: Issues → Read and write) |
unlockIssue | Unlock issue conversation | repo (fine-grained: Issues → Read and write) |
listIssueEvents | List issue events | repo (fine-grained: Issues → Read-only) |
listIssueTimeline | List issue timeline | repo (fine-grained: Issues → Read-only) |
| Operation | What it does | Scope |
|---|
addComment | Comment on issue | repo (fine-grained: Issues → Read and write) |
listIssueComments | List comments on an issue | repo (fine-grained: Issues → Read-only) |
listRepoIssueComments | List all issue comments in a repo | repo (fine-grained: Issues → Read-only) |
getIssueComment | Get comment | repo (fine-grained: Issues → Read-only) |
updateIssueComment | Update comment | repo (fine-grained: Issues → Read and write) |
deleteIssueComment | Delete comment | repo (fine-grained: Issues → Read and write) |
| Operation | What it does | Scope |
|---|
addAssignees | Add assignees | repo (fine-grained: Issues → Read and write) |
removeAssignees | Remove assignees | repo (fine-grained: Issues → Read and write) |
listAssignableUsers | List assignable users | repo (fine-grained: Issues → Read-only) |
addLabels | Add labels | repo (fine-grained: Issues → Read and write) |
setLabels | Set labels (replace all) | repo (fine-grained: Issues → Read and write) |
removeLabel | Remove label | repo (fine-grained: Issues → Read and write) |
removeAllLabels | Remove all labels | repo (fine-grained: Issues → Read and write) |
listIssueLabels | List labels on an issue | repo (fine-grained: Issues → Read-only) |
| Operation | What it does | Scope |
|---|
listLabels | List repository labels | repo (fine-grained: Issues → Read-only) |
getLabel | Get label | repo (fine-grained: Issues → Read-only) |
createLabel | Create label | repo (fine-grained: Issues → Read and write) |
updateLabel | Update label | repo (fine-grained: Issues → Read and write) |
deleteLabel | Delete label | repo (fine-grained: Issues → Read and write) |
| Operation | What it does | Scope |
|---|
listMilestones | List milestones | repo (fine-grained: Issues → Read-only) |
createMilestone | Create milestone | repo (fine-grained: Issues → Read and write) |
updateMilestone | Update milestone | repo (fine-grained: Issues → Read and write) |
deleteMilestone | Delete milestone | repo (fine-grained: Issues → Read and write) |
| Operation | What it does | Scope |
|---|
createPullRequest | Create pull request | repo (fine-grained: Pull requests → Read and write) |
updatePullRequest | Update pull request | repo (fine-grained: Pull requests → Read and write) |
getPullRequest | Get pull request | repo (fine-grained: Pull requests → Read-only) |
listPullRequests | List pull requests | repo (fine-grained: Pull requests → Read-only) |
mergePullRequest | Merge pull request | repo (fine-grained: Pull requests → Read and write) |
checkPrMerged | Check if pull request is merged | repo (fine-grained: Pull requests → Read-only) |
updatePrBranch | Update pull request branch | repo (fine-grained: Pull requests → Read and write) |
listPrCommits | List pull request commits | repo (fine-grained: Pull requests → Read-only) |
listPrFiles | List pull request files | repo (fine-grained: Pull requests → Read-only) |
| Operation | What it does | Scope |
|---|
createPrReview | Create review | repo (fine-grained: Pull requests → Read and write) |
listPrReviews | List reviews | repo (fine-grained: Pull requests → Read-only) |
getPrReview | Get review | repo (fine-grained: Pull requests → Read-only) |
updatePrReview | Update review body | repo (fine-grained: Pull requests → Read and write) |
submitPrReview | Submit pending review | repo (fine-grained: Pull requests → Read and write) |
dismissPrReview | Dismiss review | repo (fine-grained: Pull requests → Read and write) |
createPrReviewComment | Comment on a line of the diff | repo (fine-grained: Pull requests → Read and write) |
listPrReviewComments | List review comments | repo (fine-grained: Pull requests → Read-only) |
replyToPrReviewComment | Reply to a review comment | repo (fine-grained: Pull requests → Read and write) |
requestReviewers | Request reviewers | repo (fine-grained: Pull requests → Read and write) |
removeRequestedReviewers | Remove requested reviewers | repo (fine-grained: Pull requests → Read and write) |
listRequestedReviewers | List requested reviewers | repo (fine-grained: Pull requests → Read-only) |
| Operation | What it does | Scope |
|---|
getRepo | Get repository | repo (fine-grained: Metadata → Read-only) |
createRepo | Create repository | repo (fine-grained: Administration → Read and write) |
createOrgRepo | Create repository in an organization | repo (fine-grained: Administration → Read and write) |
updateRepo | Update repository settings | repo (fine-grained: Administration → Read and write) |
listOrgRepos | List organization repositories | repo (fine-grained: Metadata → Read-only) |
listUserRepos | List a user's repositories | repo (fine-grained: Metadata → Read-only) |
listContributors | List contributors | repo (fine-grained: Metadata → Read-only) |
listLanguages | List languages | repo (fine-grained: Metadata → Read-only) |
listTags | List tags | repo (fine-grained: Metadata → Read-only) |
createFork | Fork repository | repo (fine-grained: Contents → Read and write) |
listForks | List forks | repo (fine-grained: Metadata → Read-only) |
| Operation | What it does | Scope |
|---|
listCollaborators | List collaborators | repo + read:org (fine-grained: Metadata → Read-only) |
addCollaborator | Add / invite collaborator | repo (fine-grained: Administration → Read and write) |
removeCollaborator | Remove collaborator | repo (fine-grained: Administration → Read and write) |
getCollaboratorPermission | Get a user's permission level | repo (fine-grained: Metadata → Read-only) |
| Operation | What it does | Scope |
|---|
listBranches | List branches | repo (fine-grained: Contents → Read-only) |
getBranch | Get branch | repo (fine-grained: Contents → Read-only) |
listCommits | List commits | repo (fine-grained: Contents → Read-only) |
getCommit | Get commit | repo (fine-grained: Contents → Read-only) |
compareCommits | Compare two refs | repo (fine-grained: Contents → Read-only) |
| Operation | What it does | Scope |
|---|
getFileContent | Get file content | repo (fine-grained: Contents → Read-only) |
createOrUpdateFile | Create / update file | repo + workflow (only for .github/workflows files) (fine-grained: Contents → Read and write) |
deleteFile | Delete file | repo (fine-grained: Contents → Read and write) |
getReadme | Get README | repo (fine-grained: Contents → Read-only) |
getRef | Get ref | repo (fine-grained: Contents → Read-only) |
createRef | Create ref (branch or tag) | repo (fine-grained: Contents → Read and write) |
updateRef | Update ref | repo (fine-grained: Contents → Read and write) |
deleteRef | Delete ref | repo (fine-grained: Contents → Read and write) |
createTagObject | Create annotated tag object | repo (fine-grained: Contents → Read and write) |
| Operation | What it does | Scope |
|---|
createRelease | Create release | repo (fine-grained: Contents → Read and write) |
updateRelease | Update release | repo (fine-grained: Contents → Read and write) |
deleteRelease | Delete release | repo (fine-grained: Contents → Read and write) |
getRelease | Get release | repo (fine-grained: Contents → Read-only) |
getLatestRelease | Get latest release | repo (fine-grained: Contents → Read-only) |
getReleaseByTag | Get release by tag | repo (fine-grained: Contents → Read-only) |
listReleases | List releases | repo (fine-grained: Contents → Read-only) |
generateReleaseNotes | Generate release notes | repo (fine-grained: Contents → Read and write) |
listReleaseAssets | List release assets | repo (fine-grained: Contents → Read-only) |
deleteReleaseAsset | Delete release asset | repo (fine-grained: Contents → Read and write) |
| Operation | What it does | Scope |
|---|
listWorkflows | List workflows | repo (fine-grained: Actions → Read-only) |
dispatchWorkflow | Run a workflow (workflow_dispatch) | repo (fine-grained: Actions → Read and write) |
listWorkflowRuns | List workflow runs | repo (fine-grained: Actions → Read-only) |
getWorkflowRun | Get workflow run | repo (fine-grained: Actions → Read-only) |
rerunWorkflowRun | Re-run workflow run | repo (fine-grained: Actions → Read and write) |
cancelWorkflowRun | Cancel workflow run | repo (fine-grained: Actions → Read and write) |
listRunArtifacts | List run artifacts | repo (fine-grained: Actions → Read-only) |
| Operation | What it does | Scope |
|---|
searchIssues | Search issues & pull requests | (any valid token — results are limited to repositories the token can already read) |
searchRepositories | Search repositories | (any valid token — results are limited to repositories the token can already read) |
searchCode | Search code | (any valid token — code search requires authentication, and results are limited to repositories the token can already read) |
searchCommits | Search commits | (any valid token — results are limited to repositories the token can already read) |
searchUsers | Search users | (any valid token — searches public user and organization data) |
searchTopics | Search topics | (any valid token — searches public topic data) |
searchLabels | Search labels | (any valid token — results are limited to a repository the token can already read) |
| Operation | What it does | Scope |
|---|
getAuthenticatedUser | Get the authenticated user | (any valid token for public profile fields — add the user scope, or fine-grained Email addresses → Read-only, to see private ones) |
getUser | Get a user | (any valid token — this is public profile data) |
listUserOrgs | List a user's organizations | (any valid token — this lists only PUBLIC organization memberships) |
getOrg | Get an organization | (any valid token for public organization fields — admin:org is needed for the private ones) |
listOrgMembers | List organization members | read:org (fine-grained: Members → Read-only) |
listTeams | List teams | read:org (fine-grained: Members → Read-only) |
getTeam | Get team | read:org (fine-grained: Members → Read-only) |
listTeamMembers | List team members | read:org (fine-grained: Members → Read-only) |
| Operation | What it does | Scope |
|---|
listGists | List my gists | gist |
getGist | Get gist | (any valid token for a public gist — a secret gist needs the gist scope) |
createGist | Create gist | gist |
updateGist | Update gist | gist |
deleteGist | Delete gist | gist |
| Operation | What it does | Scope |
|---|
createIssueReaction | React to an issue | repo (fine-grained: Issues → Read and write) |
createIssueCommentReaction | React to an issue comment | repo (fine-grained: Issues → Read and write) |
createPrReviewCommentReaction | React to a review comment | repo (fine-grained: Pull requests → Read and write) |
| Operation | What it does | Scope |
|---|
listRepoHooks | List repository webhooks | repo or read:repo_hook (fine-grained: Webhooks → Read-only) |
createRepoHook | Create repository webhook | repo or write:repo_hook (fine-grained: Webhooks → Read and write) |
updateRepoHook | Update repository webhook | repo or write:repo_hook (fine-grained: Webhooks → Read and write) |
deleteRepoHook | Delete repository webhook | repo or write:repo_hook (fine-grained: Webhooks → Read and write) |
pingRepoHook | Ping repository webhook | repo or write:repo_hook (fine-grained: Webhooks → Read and write) |
Open a pull request from a bot-generated branch
An earlier node has pushed changes to a working branch (for example via this node's Create / update file operation). This node opens the pull request against main with a description assembled from the run context, so a human only has to review and merge.
Set Operation to createPullRequest, then fill in:
| Field | Value | Notes |
|---|
owner | acme-inc | Repository owner - user or organisation |
repo | web-app | Repository name |
title | Update pricing copy | The pull request title |
head | bot/pricing-copy | The branch containing the changes - it must already exist |
base | main | The branch to merge into |
body | Automated change. {{agent.output}} | Optional description |
Sets {{pr.number}}, {{pr.url}} (its html_url) and the full object at {{pr.pullRequest}}. Wire {{pr.number}} into a following GitHub node's prNumber to merge it, or into issueNumber for Add labels / Add comment - GitHub numbers issues and PRs from the same sequence.