About mutations
Every GraphQL schema has a root type for both queries and mutations. The mutation type defines GraphQL operations that change data on the server. It is analogous to performing HTTP verbs such as POST, PATCH, and DELETE.
For more information, see "Forming calls with GraphQL."
Note: The ProjectsV2 GraphQL API may not be available on your GitHub Enterprise Server instance.
abortQueuedMigrations
Clear all of a customer's queued migrations.
Input fields for abortQueuedMigrations
input(AbortQueuedMigrationsInput!)
Return fields for abortQueuedMigrations
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| Did the operation succeed?. |
addAssigneesToAssignable
Adds assignees to an assignable object.
Input fields for addAssigneesToAssignable
input(AddAssigneesToAssignableInput!)
Return fields for addAssigneesToAssignable
| Name | Description |
|---|---|
| The item that was assigned. |
| A unique identifier for the client performing the mutation. |
addComment
Adds a comment to an Issue or Pull Request.
Input fields for addComment
input(AddCommentInput!)
Return fields for addComment
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The edge from the subject's comment connection. |
| The subject. |
| The edge from the subject's timeline connection. |
addDiscussionComment
Adds a comment to a Discussion, possibly as a reply to another comment.
Input fields for addDiscussionComment
input(AddDiscussionCommentInput!)
Return fields for addDiscussionComment
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The newly created discussion comment. |
addDiscussionPollVote
Vote for an option in a discussion poll.
Input fields for addDiscussionPollVote
input(AddDiscussionPollVoteInput!)
Return fields for addDiscussionPollVote
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The poll option that a vote was added to. |
addEnterpriseAdmin
Adds an administrator to the global enterprise account.
Input fields for addEnterpriseAdmin
input(AddEnterpriseAdminInput!)
Return fields for addEnterpriseAdmin
| Name | Description |
|---|---|
| The user who was added as an administrator. |
| A unique identifier for the client performing the mutation. |
| The updated enterprise. |
| The role of the administrator. |
| The viewer performing the mutation. |
addLabelsToLabelable
Adds labels to a labelable object.
Input fields for addLabelsToLabelable
input(AddLabelsToLabelableInput!)
Return fields for addLabelsToLabelable
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The item that was labeled. |
addProjectCard
Adds a card to a ProjectColumn. Either contentId or note must be provided but not both.
Input fields for addProjectCard
input(AddProjectCardInput!)
Return fields for addProjectCard
| Name | Description |
|---|---|
| The edge from the ProjectColumn's card connection. |
| A unique identifier for the client performing the mutation. |
| The ProjectColumn. |
addProjectColumn
Adds a column to a Project.
Input fields for addProjectColumn
input(AddProjectColumnInput!)
Return fields for addProjectColumn
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The edge from the project's column connection. |
| The project. |
addProjectV2DraftIssue
Creates a new draft issue and add it to a Project.
Input fields for addProjectV2DraftIssue
input(AddProjectV2DraftIssueInput!)
Return fields for addProjectV2DraftIssue
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The draft issue added to the project. |
addProjectV2ItemById
Links an existing content instance to a Project.
Input fields for addProjectV2ItemById
input(AddProjectV2ItemByIdInput!)
Return fields for addProjectV2ItemById
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The item added to the project. |
addPullRequestReview
Adds a review to a Pull Request.
Input fields for addPullRequestReview
input(AddPullRequestReviewInput!)
Return fields for addPullRequestReview
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The newly created pull request review. |
| The edge from the pull request's review connection. |
addPullRequestReviewComment
Adds a comment to a review.
Input fields for addPullRequestReviewComment
Return fields for addPullRequestReviewComment
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The newly created comment. |
| The edge from the review's comment connection. |
addPullRequestReviewThread
Adds a new thread to a pending Pull Request Review.
Input fields for addPullRequestReviewThread
input(AddPullRequestReviewThreadInput!)
Return fields for addPullRequestReviewThread
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The newly created thread. |
addReaction
Adds a reaction to a subject.
Input fields for addReaction
input(AddReactionInput!)
Return fields for addReaction
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The reaction object. |
| The reactable subject. |
addStar
Adds a star to a Starrable.
Input fields for addStar
input(AddStarInput!)
Return fields for addStar
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The starrable. |
addUpvote
Add an upvote to a discussion or discussion comment.
Input fields for addUpvote
input(AddUpvoteInput!)
Return fields for addUpvote
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The votable subject. |
addVerifiableDomain
Adds a verifiable domain to an owning account.
Input fields for addVerifiableDomain
input(AddVerifiableDomainInput!)
Return fields for addVerifiableDomain
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The verifiable domain that was added. |
approveDeployments
Approve all pending deployments under one or more environments.
Input fields for approveDeployments
input(ApproveDeploymentsInput!)
Return fields for approveDeployments
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The affected deployments. |
approveVerifiableDomain
Approve a verifiable domain for notification delivery.
Input fields for approveVerifiableDomain
input(ApproveVerifiableDomainInput!)
Return fields for approveVerifiableDomain
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The verifiable domain that was approved. |
archiveRepository
Marks a repository as archived.
Input fields for archiveRepository
input(ArchiveRepositoryInput!)
Return fields for archiveRepository
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The repository that was marked as archived. |
changeUserStatus
Update your status on GitHub.
Input fields for changeUserStatus
input(ChangeUserStatusInput!)
Return fields for changeUserStatus
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| Your updated status. |
clearLabelsFromLabelable
Clears all labels from a labelable object.
Input fields for clearLabelsFromLabelable
input(ClearLabelsFromLabelableInput!)
Return fields for clearLabelsFromLabelable
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The item that was unlabeled. |
cloneProject
Creates a new project by cloning configuration from an existing project.
Input fields for cloneProject
input(CloneProjectInput!)
Return fields for cloneProject
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The id of the JobStatus for populating cloned fields. |
| The new cloned project. |
cloneTemplateRepository
Create a new repository with the same files and directory structure as a template repository.
Input fields for cloneTemplateRepository
input(CloneTemplateRepositoryInput!)
Return fields for cloneTemplateRepository
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The new repository. |
closeIssue
Close an issue.
Input fields for closeIssue
input(CloseIssueInput!)
Return fields for closeIssue
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The issue that was closed. |
closePullRequest
Close a pull request.
Input fields for closePullRequest
input(ClosePullRequestInput!)
Return fields for closePullRequest
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The pull request that was closed. |
convertProjectCardNoteToIssue
Convert a project note card to one associated with a newly created issue.
Input fields for convertProjectCardNoteToIssue
Return fields for convertProjectCardNoteToIssue
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The updated ProjectCard. |
convertPullRequestToDraft
Converts a pull request to draft.
Input fields for convertPullRequestToDraft
input(ConvertPullRequestToDraftInput!)
Return fields for convertPullRequestToDraft
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The pull request that is now a draft. |
createBranchProtectionRule
Create a new branch protection rule.
Input fields for createBranchProtectionRule
input(CreateBranchProtectionRuleInput!)
Return fields for createBranchProtectionRule
| Name | Description |
|---|---|
| The newly created BranchProtectionRule. |
| A unique identifier for the client performing the mutation. |
createCheckRun
Create a check run.
Input fields for createCheckRun
input(CreateCheckRunInput!)
Return fields for createCheckRun
| Name | Description |
|---|---|
| The newly created check run. |
| A unique identifier for the client performing the mutation. |
createCheckSuite
Create a check suite.
Input fields for createCheckSuite
input(CreateCheckSuiteInput!)
Return fields for createCheckSuite
| Name | Description |
|---|---|
| The newly created check suite. |
| A unique identifier for the client performing the mutation. |
createCommitOnBranch
Appends a commit to the given branch as the authenticated user.
This mutation creates a commit whose parent is the HEAD of the provided
branch and also updates that branch to point to the new commit.
It can be thought of as similar to git commit.
Locating a Branch
Commits are appended to a branch of type Ref.
This must refer to a git branch (i.e. the fully qualified path must
begin with refs/heads/, although including this prefix is optional.
Callers may specify the branch to commit to either by its global node
ID or by passing both of repositoryNameWithOwner and refName. For
more details see the documentation for CommittableBranch.
Describing Changes
fileChanges are specified as a FilesChanges object describing
FileAdditions and FileDeletions.
Please see the documentation for FileChanges for more information on
how to use this argument to describe any set of file changes.
Authorship
Similar to the web commit interface, this mutation does not support specifying the author or committer of the commit and will not add support for this in the future.
A commit created by a successful execution of this mutation will be authored by the owner of the credential which authenticates the API request. The committer will be identical to that of commits authored using the web interface.
If you need full control over author and committer information, please use the Git Database REST API instead.
Commit Signing
Commits made using this mutation are automatically signed by GitHub if supported and will be marked as verified in the user interface.
Input fields for createCommitOnBranch
input(CreateCommitOnBranchInput!)
Return fields for createCommitOnBranch
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The new commit. |
| The ref which has been updated to point to the new commit. |
createDeployment
Creates a new deployment event.
Note
createDeployment is available under the Deployments preview. During the preview period, the API may change without notice.
Input fields for createDeployment
input(CreateDeploymentInput!)
Return fields for createDeployment
| Name | Description |
|---|---|
| True if the default branch has been auto-merged into the deployment ref. |
| A unique identifier for the client performing the mutation. |
| The new deployment. |
createDeploymentStatus
Create a deployment status.
Note
createDeploymentStatus is available under the Deployments preview. During the preview period, the API may change without notice.
Input fields for createDeploymentStatus
input(CreateDeploymentStatusInput!)
Return fields for createDeploymentStatus
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The new deployment status. |
createDiscussion
Create a discussion.
Input fields for createDiscussion
input(CreateDiscussionInput!)
Return fields for createDiscussion
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The discussion that was just created. |
createEnterpriseOrganization
Creates an organization as part of an enterprise account.
Input fields for createEnterpriseOrganization
Return fields for createEnterpriseOrganization
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The enterprise that owns the created organization. |
| The organization that was created. |
createEnvironment
Creates an environment or simply returns it if already exists.
Input fields for createEnvironment
input(CreateEnvironmentInput!)
Return fields for createEnvironment
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The new or existing environment. |
createIpAllowListEntry
Creates a new IP allow list entry.
Input fields for createIpAllowListEntry
input(CreateIpAllowListEntryInput!)
Return fields for createIpAllowListEntry
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The IP allow list entry that was created. |
createIssue
Creates a new issue.
Input fields for createIssue
input(CreateIssueInput!)
Return fields for createIssue
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The new issue. |
createLabel
Creates a new label.
Note
createLabel is available under the Labels preview. During the preview period, the API may change without notice.
Input fields for createLabel
input(CreateLabelInput!)
Return fields for createLabel
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The new label. |
createMigrationSource
Creates an Octoshift migration source.
Input fields for createMigrationSource
input(CreateMigrationSourceInput!)
Return fields for createMigrationSource
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The created Octoshift migration source. |
createProject
Creates a new project.
Input fields for createProject
input(CreateProjectInput!)
Return fields for createProject
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The new project. |
createProjectV2
Creates a new project.
Input fields for createProjectV2
input(CreateProjectV2Input!)
Return fields for createProjectV2
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The new project. |
createPullRequest
Create a new pull request.
Input fields for createPullRequest
input(CreatePullRequestInput!)
Return fields for createPullRequest
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The new pull request. |
createRef
Create a new Git Ref.
Input fields for createRef
input(CreateRefInput!)
Return fields for createRef
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The newly created ref. |
createRepository
Create a new repository.
Input fields for createRepository
input(CreateRepositoryInput!)
Return fields for createRepository
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The new repository. |
createTeamDiscussion
Creates a new team discussion.
Input fields for createTeamDiscussion
input(CreateTeamDiscussionInput!)
Return fields for createTeamDiscussion
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The new discussion. |
createTeamDiscussionComment
Creates a new team discussion comment.
Input fields for createTeamDiscussionComment
Return fields for createTeamDiscussionComment
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The new comment. |
deleteBranchProtectionRule
Delete a branch protection rule.
Input fields for deleteBranchProtectionRule
input(DeleteBranchProtectionRuleInput!)
Return fields for deleteBranchProtectionRule
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
deleteDeployment
Deletes a deployment.
Input fields for deleteDeployment
input(DeleteDeploymentInput!)
Return fields for deleteDeployment
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
deleteDiscussion
Delete a discussion and all of its replies.
Input fields for deleteDiscussion
input(DeleteDiscussionInput!)
Return fields for deleteDiscussion
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The discussion that was just deleted. |
deleteDiscussionComment
Delete a discussion comment. If it has replies, wipe it instead.
Input fields for deleteDiscussionComment
input(DeleteDiscussionCommentInput!)
Return fields for deleteDiscussionComment
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
| The discussion comment that was just deleted. |
deleteEnvironment
Deletes an environment.
Input fields for deleteEnvironment
input(DeleteEnvironmentInput!)
Return fields for deleteEnvironment
| Name | Description |
|---|---|
| A unique identifier for the client performing the mutation. |
deleteIpAllowListEntry
Deletes an IP allow list entry.
Input fields for deleteIpAllowListEntry
input(DeleteIpAllowListEntryInput!)