GraphQL API Resources

This documentation is self-generated based on GitLab current GraphQL schema.

The API can be explored interactively using the GraphiQL IDE.

Objects

AddAwardEmojiPayload

Name Type Description
clientMutationId String A unique identifier for the client performing the mutation.
errors String! => Array Reasons why the mutation failed.
awardEmoji AwardEmoji The award emoji after mutation

AwardEmoji

Name Type Description
name String! The emoji name
description String! The emoji description
unicode String! The emoji in unicode
emoji String! The emoji as an icon
unicodeVersion String! The unicode version for this emoji
user User! The user who awarded the emoji

Blob

Name Type Description
id ID!
name String!
type EntryType!
path String!
flatPath String!
webUrl String
lfsOid String

Commit

Name Type Description
id ID!
sha String!
title String
description String
message String
authoredDate Time
webUrl String!
author User
latestPipeline Pipeline Latest pipeline for this commit

DetailedStatus

Name Type Description
group String!
icon String!
favicon String!
detailsPath String!
hasDetails Boolean!
label String!
text String!
tooltip String!

DiffPosition

Name Type Description
headSha String! The sha of the head at the time the comment was made
baseSha String The merge base of the branch the comment was made on
startSha String! The sha of the branch being compared against
filePath String! The path of the file that was changed
oldPath String The path of the file on the start sha.
newPath String The path of the file on the head sha.
positionType DiffPositionType!
oldLine Int The line on start sha that was changed
newLine Int The line on head sha that was changed
x Int The X postion on which the comment was made
y Int The Y position on which the comment was made
width Int The total width of the image
height Int The total height of the image

Discussion

Name Type Description
id ID!
createdAt Time!

Group

Name Type Description
id ID!
name String!
path String!
fullName String!
fullPath ID!
description String
descriptionHtml String The GitLab Flavored Markdown rendering of description
visibility String
lfsEnabled Boolean
requestAccessEnabled Boolean
userPermissions GroupPermissions! Permissions for the current user on the resource
webUrl String!
avatarUrl String
parent Group

GroupPermissions

Name Type Description
readGroup Boolean! Whether or not a user can perform read_group on this resource

Issue

Name Type Description
userPermissions IssuePermissions! Permissions for the current user on the resource
iid ID!
title String!
titleHtml String The GitLab Flavored Markdown rendering of title
description String
descriptionHtml String The GitLab Flavored Markdown rendering of description
state IssueState!
reference String!
author User!
milestone Milestone
dueDate Time
confidential Boolean!
discussionLocked Boolean!
upvotes Int!
downvotes Int!
userNotesCount Int!
webPath String!
webUrl String!
relativePosition Int
closedAt Time
createdAt Time!
updatedAt Time!
taskCompletionStatus TaskCompletionStatus!

IssuePermissions

Name Type Description
readIssue Boolean! Whether or not a user can perform read_issue on this resource
adminIssue Boolean! Whether or not a user can perform admin_issue on this resource
updateIssue Boolean! Whether or not a user can perform update_issue on this resource
createNote Boolean! Whether or not a user can perform create_note on this resource
reopenIssue Boolean! Whether or not a user can perform reopen_issue on this resource

Label

Name Type Description
description String
descriptionHtml String The GitLab Flavored Markdown rendering of description
title String!
color String!
textColor String!

MergeRequest

Name Type Description
userPermissions MergeRequestPermissions! Permissions for the current user on the resource
id ID!
iid String!
title String!
titleHtml String The GitLab Flavored Markdown rendering of title
description String
descriptionHtml String The GitLab Flavored Markdown rendering of description
state MergeRequestState!
createdAt Time!
updatedAt Time!
sourceProject Project
targetProject Project!
project Project!
projectId Int!
sourceProjectId Int
targetProjectId Int!
sourceBranch String!
targetBranch String!
workInProgress Boolean!
mergeWhenPipelineSucceeds Boolean
diffHeadSha String
mergeCommitSha String
userNotesCount Int
shouldRemoveSourceBranch Boolean
forceRemoveSourceBranch Boolean
mergeStatus String
inProgressMergeCommitSha String
mergeError String
allowCollaboration Boolean
shouldBeRebased Boolean!
rebaseCommitSha String
rebaseInProgress Boolean!
mergeCommitMessage String
defaultMergeCommitMessage String
mergeOngoing Boolean!
sourceBranchExists Boolean!
mergeableDiscussionsState Boolean
webUrl String
upvotes Int!
downvotes Int!
subscribed Boolean!
headPipeline Pipeline
taskCompletionStatus TaskCompletionStatus!

MergeRequestPermissions

Name Type Description
readMergeRequest Boolean! Whether or not a user can perform read_merge_request on this resource
adminMergeRequest Boolean! Whether or not a user can perform admin_merge_request on this resource
updateMergeRequest Boolean! Whether or not a user can perform update_merge_request on this resource
createNote Boolean! Whether or not a user can perform create_note on this resource
pushToSourceBranch Boolean! Whether or not a user can perform push_to_source_branch on this resource
removeSourceBranch Boolean! Whether or not a user can perform remove_source_branch on this resource
cherryPickOnCurrentMergeRequest Boolean! Whether or not a user can perform cherry_pick_on_current_merge_request on this resource
revertOnCurrentMergeRequest Boolean! Whether or not a user can perform revert_on_current_merge_request on this resource

MergeRequestSetWipPayload

Name Type Description
clientMutationId String A unique identifier for the client performing the mutation.
errors String! => Array Reasons why the mutation failed.
mergeRequest MergeRequest The merge request after mutation

Metadata

Name Type Description
version String!
revision String!

Milestone

Name Type Description
description String
title String!
state String!
dueDate Time
startDate Time
createdAt Time!
updatedAt Time!

Namespace

Name Type Description
id ID!
name String!
path String!
fullName String!
fullPath ID!
description String
descriptionHtml String The GitLab Flavored Markdown rendering of description
visibility String
lfsEnabled Boolean
requestAccessEnabled Boolean

Note

Name Type Description
userPermissions NotePermissions! Permissions for the current user on the resource
id ID!
project Project The project this note is associated to
author User! The user who wrote this note
resolvedBy User The user that resolved the discussion
system Boolean! Whether or not this note was created by the system or by a user
body String! The content note itself
bodyHtml String The GitLab Flavored Markdown rendering of note
createdAt Time!
updatedAt Time!
discussion Discussion The discussion this note is a part of
resolvable Boolean!
resolvedAt Time The time the discussion was resolved
position DiffPosition The position of this note on a diff

NotePermissions

Name Type Description
readNote Boolean! Whether or not a user can perform read_note on this resource
createNote Boolean! Whether or not a user can perform create_note on this resource
adminNote Boolean! Whether or not a user can perform admin_note on this resource
resolveNote Boolean! Whether or not a user can perform resolve_note on this resource
awardEmoji Boolean! Whether or not a user can perform award_emoji on this resource

PageInfo

Name Type Description
hasNextPage Boolean! When paginating forwards, are there more items?
hasPreviousPage Boolean! When paginating backwards, are there more items?
startCursor String When paginating backwards, the cursor to continue.
endCursor String When paginating forwards, the cursor to continue.

Pipeline

Name Type Description
userPermissions PipelinePermissions! Permissions for the current user on the resource
id ID!
iid String!
sha String!
beforeSha String
status PipelineStatusEnum!
detailedStatus DetailedStatus!
duration Int Duration of the pipeline in seconds
coverage Float Coverage percentage
createdAt Time!
updatedAt Time!
startedAt Time
finishedAt Time
committedAt Time

PipelinePermissions

Name Type Description
updatePipeline Boolean! Whether or not a user can perform update_pipeline on this resource
adminPipeline Boolean! Whether or not a user can perform admin_pipeline on this resource
destroyPipeline Boolean! Whether or not a user can perform destroy_pipeline on this resource

Project

Name Type Description
userPermissions ProjectPermissions! Permissions for the current user on the resource
id ID!
fullPath ID!
path String!
nameWithNamespace String!
name String!
description String
descriptionHtml String The GitLab Flavored Markdown rendering of description
tagList String
sshUrlToRepo String
httpUrlToRepo String
webUrl String
starCount Int!
forksCount Int!
createdAt Time
lastActivityAt Time
archived Boolean
visibility String
containerRegistryEnabled Boolean
sharedRunnersEnabled Boolean
lfsEnabled Boolean
mergeRequestsFfOnlyEnabled Boolean
avatarUrl String
issuesEnabled Boolean
mergeRequestsEnabled Boolean
wikiEnabled Boolean
snippetsEnabled Boolean
jobsEnabled Boolean
publicJobs Boolean
openIssuesCount Int
importStatus String
onlyAllowMergeIfPipelineSucceeds Boolean
requestAccessEnabled Boolean
onlyAllowMergeIfAllDiscussionsAreResolved Boolean
printingMergeRequestLinkEnabled Boolean
namespace Namespace
group Group
statistics ProjectStatistics
repository Repository
mergeRequest MergeRequest
issue Issue

ProjectPermissions

Name Type Description
changeNamespace Boolean! Whether or not a user can perform change_namespace on this resource
changeVisibilityLevel Boolean! Whether or not a user can perform change_visibility_level on this resource
renameProject Boolean! Whether or not a user can perform rename_project on this resource
removeProject Boolean! Whether or not a user can perform remove_project on this resource
archiveProject Boolean! Whether or not a user can perform archive_project on this resource
removeForkProject Boolean! Whether or not a user can perform remove_fork_project on this resource
removePages Boolean! Whether or not a user can perform remove_pages on this resource
readProject Boolean! Whether or not a user can perform read_project on this resource
createMergeRequestIn Boolean! Whether or not a user can perform create_merge_request_in on this resource
readWiki Boolean! Whether or not a user can perform read_wiki on this resource
readProjectMember Boolean! Whether or not a user can perform read_project_member on this resource
createIssue Boolean! Whether or not a user can perform create_issue on this resource
uploadFile Boolean! Whether or not a user can perform upload_file on this resource
readCycleAnalytics Boolean! Whether or not a user can perform read_cycle_analytics on this resource
downloadCode Boolean! Whether or not a user can perform download_code on this resource
downloadWikiCode Boolean! Whether or not a user can perform download_wiki_code on this resource
forkProject Boolean! Whether or not a user can perform fork_project on this resource
createProjectSnippet Boolean! Whether or not a user can perform create_project_snippet on this resource
readCommitStatus Boolean! Whether or not a user can perform read_commit_status on this resource
requestAccess Boolean! Whether or not a user can perform request_access on this resource
createPipeline Boolean! Whether or not a user can perform create_pipeline on this resource
createPipelineSchedule Boolean! Whether or not a user can perform create_pipeline_schedule on this resource
createMergeRequestFrom Boolean! Whether or not a user can perform create_merge_request_from on this resource
createWiki Boolean! Whether or not a user can perform create_wiki on this resource
pushCode Boolean! Whether or not a user can perform push_code on this resource
createDeployment Boolean! Whether or not a user can perform create_deployment on this resource
pushToDeleteProtectedBranch Boolean! Whether or not a user can perform push_to_delete_protected_branch on this resource
adminWiki Boolean! Whether or not a user can perform admin_wiki on this resource
adminProject Boolean! Whether or not a user can perform admin_project on this resource
updatePages Boolean! Whether or not a user can perform update_pages on this resource
adminRemoteMirror Boolean! Whether or not a user can perform admin_remote_mirror on this resource
createLabel Boolean! Whether or not a user can perform create_label on this resource
updateWiki Boolean! Whether or not a user can perform update_wiki on this resource
destroyWiki Boolean! Whether or not a user can perform destroy_wiki on this resource
createPages Boolean! Whether or not a user can perform create_pages on this resource
destroyPages Boolean! Whether or not a user can perform destroy_pages on this resource
readPagesContent Boolean! Whether or not a user can perform read_pages_content on this resource

ProjectStatistics

Name Type Description
commitCount Int!
storageSize Int!
repositorySize Int!
lfsObjectsSize Int!
buildArtifactsSize Int!
packagesSize Int!
wikiSize Int

RemoveAwardEmojiPayload

Name Type Description
clientMutationId String A unique identifier for the client performing the mutation.
errors String! => Array Reasons why the mutation failed.
awardEmoji AwardEmoji The award emoji after mutation

Repository

Name Type Description
rootRef String
empty Boolean!
exists Boolean!
tree Tree

Submodule

Name Type Description
id ID!
name String!
type EntryType!
path String!
flatPath String!

TaskCompletionStatus

Name Type Description
count Int!
completedCount Int!

ToggleAwardEmojiPayload

Name Type Description
clientMutationId String A unique identifier for the client performing the mutation.
errors String! => Array Reasons why the mutation failed.
awardEmoji AwardEmoji The award emoji after mutation
toggledOn Boolean! True when the emoji was awarded, false when it was removed

Tree

Name Type Description
lastCommit Commit

TreeEntry

Name Type Description
id ID!
name String!
type EntryType!
path String!
flatPath String!
webUrl String

User

Name Type Description
name String!
username String!
avatarUrl String!
webUrl String!