Skip to main content

This version of GitHub Enterprise Server was discontinued on 2024-01-04. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise Server. For help with the upgrade, contact GitHub Enterprise support.

Mutations

In this article

The mutation type defines GraphQL operations that change data on the server.

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

Return fields for abortQueuedMigrations

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

success (Boolean)

Did the operation succeed?.

addAssigneesToAssignable

Adds assignees to an assignable object.

Input fields for addAssigneesToAssignable

Return fields for addAssigneesToAssignable

NameDescription

assignable (Assignable)

The item that was assigned.

clientMutationId (String)

A unique identifier for the client performing the mutation.

addComment

Adds a comment to an Issue or Pull Request.

Input fields for addComment

Return fields for addComment

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

commentEdge (IssueCommentEdge)

The edge from the subject's comment connection.

subject (Node)

The subject.

timelineEdge (IssueTimelineItemEdge)

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

Return fields for addDiscussionComment

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

comment (DiscussionComment)

The newly created discussion comment.

addDiscussionPollVote

Vote for an option in a discussion poll.

Input fields for addDiscussionPollVote

Return fields for addDiscussionPollVote

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

pollOption (DiscussionPollOption)

The poll option that a vote was added to.

addEnterpriseAdmin

Adds an administrator to the global enterprise account.

Input fields for addEnterpriseAdmin

Return fields for addEnterpriseAdmin

NameDescription

admin (User)

The user who was added as an administrator.

clientMutationId (String)

A unique identifier for the client performing the mutation.

enterprise (Enterprise)

The updated enterprise.

role (EnterpriseAdministratorRole)

The role of the administrator.

viewer (User)

The viewer performing the mutation.

addLabelsToLabelable

Adds labels to a labelable object.

Input fields for addLabelsToLabelable

Return fields for addLabelsToLabelable

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

labelable (Labelable)

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

Return fields for addProjectCard

NameDescription

cardEdge (ProjectCardEdge)

The edge from the ProjectColumn's card connection.

clientMutationId (String)

A unique identifier for the client performing the mutation.

projectColumn (ProjectColumn)

The ProjectColumn.

addProjectColumn

Adds a column to a Project.

Input fields for addProjectColumn

Return fields for addProjectColumn

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

columnEdge (ProjectColumnEdge)

The edge from the project's column connection.

project (Project)

The project.

addProjectV2DraftIssue

Creates a new draft issue and add it to a Project.

Input fields for addProjectV2DraftIssue

Return fields for addProjectV2DraftIssue

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

projectItem (ProjectV2Item)

The draft issue added to the project.

addProjectV2ItemById

Links an existing content instance to a Project.

Input fields for addProjectV2ItemById

Return fields for addProjectV2ItemById

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

item (ProjectV2Item)

The item added to the project.

addPullRequestReview

Adds a review to a Pull Request.

Input fields for addPullRequestReview

Return fields for addPullRequestReview

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

pullRequestReview (PullRequestReview)

The newly created pull request review.

reviewEdge (PullRequestReviewEdge)

The edge from the pull request's review connection.

addPullRequestReviewComment

Adds a comment to a review.

Input fields for addPullRequestReviewComment

Return fields for addPullRequestReviewComment

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

comment (PullRequestReviewComment)

The newly created comment.

commentEdge (PullRequestReviewCommentEdge)

The edge from the review's comment connection.

addPullRequestReviewThread

Adds a new thread to a pending Pull Request Review.

Input fields for addPullRequestReviewThread

Return fields for addPullRequestReviewThread

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

thread (PullRequestReviewThread)

The newly created thread.

addReaction

Adds a reaction to a subject.

Input fields for addReaction

Return fields for addReaction

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

reaction (Reaction)

The reaction object.

subject (Reactable)

The reactable subject.

addStar

Adds a star to a Starrable.

Input fields for addStar

Return fields for addStar

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

starrable (Starrable)

The starrable.

addUpvote

Add an upvote to a discussion or discussion comment.

Input fields for addUpvote

Return fields for addUpvote

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

subject (Votable)

The votable subject.

addVerifiableDomain

Adds a verifiable domain to an owning account.

Input fields for addVerifiableDomain

Return fields for addVerifiableDomain

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

domain (VerifiableDomain)

The verifiable domain that was added.

approveDeployments

Approve all pending deployments under one or more environments.

Input fields for approveDeployments

Return fields for approveDeployments

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

deployments ([Deployment!])

The affected deployments.

approveVerifiableDomain

Approve a verifiable domain for notification delivery.

Input fields for approveVerifiableDomain

Return fields for approveVerifiableDomain

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

domain (VerifiableDomain)

The verifiable domain that was approved.

archiveRepository

Marks a repository as archived.

Input fields for archiveRepository

Return fields for archiveRepository

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

repository (Repository)

The repository that was marked as archived.

changeUserStatus

Update your status on GitHub.

Input fields for changeUserStatus

Return fields for changeUserStatus

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

status (UserStatus)

Your updated status.

clearLabelsFromLabelable

Clears all labels from a labelable object.

Input fields for clearLabelsFromLabelable

Return fields for clearLabelsFromLabelable

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

labelable (Labelable)

The item that was unlabeled.

cloneProject

Creates a new project by cloning configuration from an existing project.

Input fields for cloneProject

Return fields for cloneProject

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

jobStatusId (String)

The id of the JobStatus for populating cloned fields.

project (Project)

The new cloned project.

cloneTemplateRepository

Create a new repository with the same files and directory structure as a template repository.

Input fields for cloneTemplateRepository

Return fields for cloneTemplateRepository

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

repository (Repository)

The new repository.

closeIssue

Close an issue.

Input fields for closeIssue

Return fields for closeIssue

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

issue (Issue)

The issue that was closed.

closePullRequest

Close a pull request.

Input fields for closePullRequest

Return fields for closePullRequest

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

pullRequest (PullRequest)

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

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

projectCard (ProjectCard)

The updated ProjectCard.

convertPullRequestToDraft

Converts a pull request to draft.

Input fields for convertPullRequestToDraft

Return fields for convertPullRequestToDraft

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

pullRequest (PullRequest)

The pull request that is now a draft.

createBranchProtectionRule

Create a new branch protection rule.

Input fields for createBranchProtectionRule

Return fields for createBranchProtectionRule

NameDescription

branchProtectionRule (BranchProtectionRule)

The newly created BranchProtectionRule.

clientMutationId (String)

A unique identifier for the client performing the mutation.

createCheckRun

Create a check run.

Input fields for createCheckRun

Return fields for createCheckRun

NameDescription

checkRun (CheckRun)

The newly created check run.

clientMutationId (String)

A unique identifier for the client performing the mutation.

createCheckSuite

Create a check suite.

Input fields for createCheckSuite

Return fields for createCheckSuite

NameDescription

checkSuite (CheckSuite)

The newly created check suite.

clientMutationId (String)

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

Return fields for createCommitOnBranch

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

commit (Commit)

The new commit.

ref (Ref)

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

Return fields for createDeployment

NameDescription

autoMerged (Boolean)

True if the default branch has been auto-merged into the deployment ref.

clientMutationId (String)

A unique identifier for the client performing the mutation.

deployment (Deployment)

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

Return fields for createDeploymentStatus

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

deploymentStatus (DeploymentStatus)

The new deployment status.

createDiscussion

Create a discussion.

Input fields for createDiscussion

Return fields for createDiscussion

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

discussion (Discussion)

The discussion that was just created.

createEnterpriseOrganization

Creates an organization as part of an enterprise account.

Input fields for createEnterpriseOrganization

Return fields for createEnterpriseOrganization

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

enterprise (Enterprise)

The enterprise that owns the created organization.

organization (Organization)

The organization that was created.

createEnvironment

Creates an environment or simply returns it if already exists.

Input fields for createEnvironment

Return fields for createEnvironment

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

environment (Environment)

The new or existing environment.

createIpAllowListEntry

Creates a new IP allow list entry.

Input fields for createIpAllowListEntry

Return fields for createIpAllowListEntry

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

ipAllowListEntry (IpAllowListEntry)

The IP allow list entry that was created.

createIssue

Creates a new issue.

Input fields for createIssue

Return fields for createIssue

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

issue (Issue)

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

Return fields for createLabel

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

label (Label)

The new label.

createMigrationSource

Creates an Octoshift migration source.

Input fields for createMigrationSource

Return fields for createMigrationSource

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

migrationSource (MigrationSource)

The created Octoshift migration source.

createProject

Creates a new project.

Input fields for createProject

Return fields for createProject

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

project (Project)

The new project.

createProjectV2

Creates a new project.

Input fields for createProjectV2

Return fields for createProjectV2

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

projectV2 (ProjectV2)

The new project.

createPullRequest

Create a new pull request.

Input fields for createPullRequest

Return fields for createPullRequest

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

pullRequest (PullRequest)

The new pull request.

createRef

Create a new Git Ref.

Input fields for createRef

Return fields for createRef

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

ref (Ref)

The newly created ref.

createRepository

Create a new repository.

Input fields for createRepository

Return fields for createRepository

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

repository (Repository)

The new repository.

createTeamDiscussion

Creates a new team discussion.

Input fields for createTeamDiscussion

Return fields for createTeamDiscussion

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

teamDiscussion (TeamDiscussion)

The new discussion.

createTeamDiscussionComment

Creates a new team discussion comment.

Input fields for createTeamDiscussionComment

Return fields for createTeamDiscussionComment

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

teamDiscussionComment (TeamDiscussionComment)

The new comment.

deleteBranchProtectionRule

Delete a branch protection rule.

Input fields for deleteBranchProtectionRule

Return fields for deleteBranchProtectionRule

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

deleteDeployment

Deletes a deployment.

Input fields for deleteDeployment

Return fields for deleteDeployment

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

deleteDiscussion

Delete a discussion and all of its replies.

Input fields for deleteDiscussion

Return fields for deleteDiscussion

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

discussion (Discussion)

The discussion that was just deleted.

deleteDiscussionComment

Delete a discussion comment. If it has replies, wipe it instead.

Input fields for deleteDiscussionComment

Return fields for deleteDiscussionComment

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

comment (DiscussionComment)

The discussion comment that was just deleted.

deleteEnvironment

Deletes an environment.

Input fields for deleteEnvironment

Return fields for deleteEnvironment

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

deleteIpAllowListEntry

Deletes an IP allow list entry.

Input fields for deleteIpAllowListEntry

Return fields for deleteIpAllowListEntry