Pipory
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.

Scopes

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.

Operations (127)

Issues

OperationWhat it doesScope
createIssueCreate issuerepo (fine-grained: Issues → Read and write)
updateIssueUpdate / close issuerepo (fine-grained: Issues → Read and write)
getIssueGet issuerepo (fine-grained: Issues → Read-only)
listIssuesList issuesrepo (fine-grained: Issues → Read-only)
listMyIssuesList issues assigned to merepo (fine-grained: Issues → Read-only)
lockIssueLock issue conversationrepo (fine-grained: Issues → Read and write)
unlockIssueUnlock issue conversationrepo (fine-grained: Issues → Read and write)
listIssueEventsList issue eventsrepo (fine-grained: Issues → Read-only)
listIssueTimelineList issue timelinerepo (fine-grained: Issues → Read-only)

Issue comments

OperationWhat it doesScope
addCommentComment on issuerepo (fine-grained: Issues → Read and write)
listIssueCommentsList comments on an issuerepo (fine-grained: Issues → Read-only)
listRepoIssueCommentsList all issue comments in a reporepo (fine-grained: Issues → Read-only)
getIssueCommentGet commentrepo (fine-grained: Issues → Read-only)
updateIssueCommentUpdate commentrepo (fine-grained: Issues → Read and write)
deleteIssueCommentDelete commentrepo (fine-grained: Issues → Read and write)

Assignees & issue labels

OperationWhat it doesScope
addAssigneesAdd assigneesrepo (fine-grained: Issues → Read and write)
removeAssigneesRemove assigneesrepo (fine-grained: Issues → Read and write)
listAssignableUsersList assignable usersrepo (fine-grained: Issues → Read-only)
addLabelsAdd labelsrepo (fine-grained: Issues → Read and write)
setLabelsSet labels (replace all)repo (fine-grained: Issues → Read and write)
removeLabelRemove labelrepo (fine-grained: Issues → Read and write)
removeAllLabelsRemove all labelsrepo (fine-grained: Issues → Read and write)
listIssueLabelsList labels on an issuerepo (fine-grained: Issues → Read-only)

Repository labels

OperationWhat it doesScope
listLabelsList repository labelsrepo (fine-grained: Issues → Read-only)
getLabelGet labelrepo (fine-grained: Issues → Read-only)
createLabelCreate labelrepo (fine-grained: Issues → Read and write)
updateLabelUpdate labelrepo (fine-grained: Issues → Read and write)
deleteLabelDelete labelrepo (fine-grained: Issues → Read and write)

Milestones

OperationWhat it doesScope
listMilestonesList milestonesrepo (fine-grained: Issues → Read-only)
createMilestoneCreate milestonerepo (fine-grained: Issues → Read and write)
updateMilestoneUpdate milestonerepo (fine-grained: Issues → Read and write)
deleteMilestoneDelete milestonerepo (fine-grained: Issues → Read and write)

Pull requests

OperationWhat it doesScope
createPullRequestCreate pull requestrepo (fine-grained: Pull requests → Read and write)
updatePullRequestUpdate pull requestrepo (fine-grained: Pull requests → Read and write)
getPullRequestGet pull requestrepo (fine-grained: Pull requests → Read-only)
listPullRequestsList pull requestsrepo (fine-grained: Pull requests → Read-only)
mergePullRequestMerge pull requestrepo (fine-grained: Pull requests → Read and write)
checkPrMergedCheck if pull request is mergedrepo (fine-grained: Pull requests → Read-only)
updatePrBranchUpdate pull request branchrepo (fine-grained: Pull requests → Read and write)
listPrCommitsList pull request commitsrepo (fine-grained: Pull requests → Read-only)
listPrFilesList pull request filesrepo (fine-grained: Pull requests → Read-only)

Pull request reviews

OperationWhat it doesScope
createPrReviewCreate reviewrepo (fine-grained: Pull requests → Read and write)
listPrReviewsList reviewsrepo (fine-grained: Pull requests → Read-only)
getPrReviewGet reviewrepo (fine-grained: Pull requests → Read-only)
updatePrReviewUpdate review bodyrepo (fine-grained: Pull requests → Read and write)
submitPrReviewSubmit pending reviewrepo (fine-grained: Pull requests → Read and write)
dismissPrReviewDismiss reviewrepo (fine-grained: Pull requests → Read and write)
createPrReviewCommentComment on a line of the diffrepo (fine-grained: Pull requests → Read and write)
listPrReviewCommentsList review commentsrepo (fine-grained: Pull requests → Read-only)
replyToPrReviewCommentReply to a review commentrepo (fine-grained: Pull requests → Read and write)
requestReviewersRequest reviewersrepo (fine-grained: Pull requests → Read and write)
removeRequestedReviewersRemove requested reviewersrepo (fine-grained: Pull requests → Read and write)
listRequestedReviewersList requested reviewersrepo (fine-grained: Pull requests → Read-only)

Repositories

OperationWhat it doesScope
getRepoGet repositoryrepo (fine-grained: Metadata → Read-only)
createRepoCreate repositoryrepo (fine-grained: Administration → Read and write)
createOrgRepoCreate repository in an organizationrepo (fine-grained: Administration → Read and write)
updateRepoUpdate repository settingsrepo (fine-grained: Administration → Read and write)
listOrgReposList organization repositoriesrepo (fine-grained: Metadata → Read-only)
listUserReposList a user's repositoriesrepo (fine-grained: Metadata → Read-only)
listContributorsList contributorsrepo (fine-grained: Metadata → Read-only)
listLanguagesList languagesrepo (fine-grained: Metadata → Read-only)
listTagsList tagsrepo (fine-grained: Metadata → Read-only)
createForkFork repositoryrepo (fine-grained: Contents → Read and write)
listForksList forksrepo (fine-grained: Metadata → Read-only)

Collaborators

OperationWhat it doesScope
listCollaboratorsList collaboratorsrepo + read:org (fine-grained: Metadata → Read-only)
addCollaboratorAdd / invite collaboratorrepo (fine-grained: Administration → Read and write)
removeCollaboratorRemove collaboratorrepo (fine-grained: Administration → Read and write)
getCollaboratorPermissionGet a user's permission levelrepo (fine-grained: Metadata → Read-only)

Branches & commits

OperationWhat it doesScope
listBranchesList branchesrepo (fine-grained: Contents → Read-only)
getBranchGet branchrepo (fine-grained: Contents → Read-only)
listCommitsList commitsrepo (fine-grained: Contents → Read-only)
getCommitGet commitrepo (fine-grained: Contents → Read-only)
compareCommitsCompare two refsrepo (fine-grained: Contents → Read-only)

Files & Git refs

OperationWhat it doesScope
getFileContentGet file contentrepo (fine-grained: Contents → Read-only)
createOrUpdateFileCreate / update filerepo + workflow (only for .github/workflows files) (fine-grained: Contents → Read and write)
deleteFileDelete filerepo (fine-grained: Contents → Read and write)
getReadmeGet READMErepo (fine-grained: Contents → Read-only)
getRefGet refrepo (fine-grained: Contents → Read-only)
createRefCreate ref (branch or tag)repo (fine-grained: Contents → Read and write)
updateRefUpdate refrepo (fine-grained: Contents → Read and write)
deleteRefDelete refrepo (fine-grained: Contents → Read and write)
createTagObjectCreate annotated tag objectrepo (fine-grained: Contents → Read and write)

Releases

OperationWhat it doesScope
createReleaseCreate releaserepo (fine-grained: Contents → Read and write)
updateReleaseUpdate releaserepo (fine-grained: Contents → Read and write)
deleteReleaseDelete releaserepo (fine-grained: Contents → Read and write)
getReleaseGet releaserepo (fine-grained: Contents → Read-only)
getLatestReleaseGet latest releaserepo (fine-grained: Contents → Read-only)
getReleaseByTagGet release by tagrepo (fine-grained: Contents → Read-only)
listReleasesList releasesrepo (fine-grained: Contents → Read-only)
generateReleaseNotesGenerate release notesrepo (fine-grained: Contents → Read and write)
listReleaseAssetsList release assetsrepo (fine-grained: Contents → Read-only)
deleteReleaseAssetDelete release assetrepo (fine-grained: Contents → Read and write)

Actions & workflows

OperationWhat it doesScope
listWorkflowsList workflowsrepo (fine-grained: Actions → Read-only)
dispatchWorkflowRun a workflow (workflow_dispatch)repo (fine-grained: Actions → Read and write)
listWorkflowRunsList workflow runsrepo (fine-grained: Actions → Read-only)
getWorkflowRunGet workflow runrepo (fine-grained: Actions → Read-only)
rerunWorkflowRunRe-run workflow runrepo (fine-grained: Actions → Read and write)
cancelWorkflowRunCancel workflow runrepo (fine-grained: Actions → Read and write)
listRunArtifactsList run artifactsrepo (fine-grained: Actions → Read-only)
OperationWhat it doesScope
searchIssuesSearch issues & pull requests(any valid token — results are limited to repositories the token can already read)
searchRepositoriesSearch repositories(any valid token — results are limited to repositories the token can already read)
searchCodeSearch code(any valid token — code search requires authentication, and results are limited to repositories the token can already read)
searchCommitsSearch commits(any valid token — results are limited to repositories the token can already read)
searchUsersSearch users(any valid token — searches public user and organization data)
searchTopicsSearch topics(any valid token — searches public topic data)
searchLabelsSearch labels(any valid token — results are limited to a repository the token can already read)

Users, organizations & teams

OperationWhat it doesScope
getAuthenticatedUserGet 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)
getUserGet a user(any valid token — this is public profile data)
listUserOrgsList a user's organizations(any valid token — this lists only PUBLIC organization memberships)
getOrgGet an organization(any valid token for public organization fields — admin:org is needed for the private ones)
listOrgMembersList organization membersread:org (fine-grained: Members → Read-only)
listTeamsList teamsread:org (fine-grained: Members → Read-only)
getTeamGet teamread:org (fine-grained: Members → Read-only)
listTeamMembersList team membersread:org (fine-grained: Members → Read-only)

Gists

OperationWhat it doesScope
listGistsList my gistsgist
getGistGet gist(any valid token for a public gist — a secret gist needs the gist scope)
createGistCreate gistgist
updateGistUpdate gistgist
deleteGistDelete gistgist

Reactions

OperationWhat it doesScope
createIssueReactionReact to an issuerepo (fine-grained: Issues → Read and write)
createIssueCommentReactionReact to an issue commentrepo (fine-grained: Issues → Read and write)
createPrReviewCommentReactionReact to a review commentrepo (fine-grained: Pull requests → Read and write)

Repository webhooks

OperationWhat it doesScope
listRepoHooksList repository webhooksrepo or read:repo_hook (fine-grained: Webhooks → Read-only)
createRepoHookCreate repository webhookrepo or write:repo_hook (fine-grained: Webhooks → Read and write)
updateRepoHookUpdate repository webhookrepo or write:repo_hook (fine-grained: Webhooks → Read and write)
deleteRepoHookDelete repository webhookrepo or write:repo_hook (fine-grained: Webhooks → Read and write)
pingRepoHookPing repository webhookrepo or write:repo_hook (fine-grained: Webhooks → Read and write)

Example

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:

FieldValueNotes
owneracme-incRepository owner - user or organisation
repoweb-appRepository name
titleUpdate pricing copyThe pull request title
headbot/pricing-copyThe branch containing the changes - it must already exist
basemainThe branch to merge into
bodyAutomated 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.