GitLab

GitLab is a comprehensive DevOps platform that allows teams to manage, collaborate on, and automate their software development lifecycle. With GitLab, you can effortlessly handle source code management, CI/CD, reviews, and collaboration in a single application.

With GitLab in Zoen, you can:

  • Manage projects and repositories: List and retrieve your GitLab projects, access details, and organize your repositories
  • Work with issues: List, create, and comment on issues to track work and collaborate effectively
  • Handle merge requests: Review, create, and manage merge requests for code changes and peer reviews
  • Automate CI/CD pipelines: Trigger, monitor, and interact with GitLab pipelines as part of your automation flows
  • Collaborate with comments: Add comments to issues or merge requests for efficient communication within your team

Using Zoen’s GitLab integration, your agents can programmatically interact with your GitLab projects. Automate project management, issue tracking, code reviews, and pipeline operations seamlessly in your workflows, optimizing your software development process and enhancing collaboration across your team.

Usage Instructions

Integrate GitLab into the workflow. Can manage projects, issues, merge requests, pipelines, and add comments, plus project/group membership, invitations, access requests, SAML group links, and instance user administration. Supports all core GitLab DevOps operations.

Actions

gitlab_list_projects

List GitLab projects accessible to the authenticated user

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
ownedbooleanNoLimit to projects owned by the current user
membershipbooleanNoLimit to projects the current user is a member of
searchstringNoSearch projects by name
visibilitystringNoFilter by visibility (public, internal, private)
orderBystringNoOrder by field (id, name, path, created_at, updated_at, last_activity_at)
sortstringNoSort direction (asc, desc)
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
projectsarrayList of GitLab projects
totalnumberTotal number of projects

gitlab_get_project

Get details of a specific GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject) (e.g., "namespace/project")

Output

ParameterTypeDescription
projectobjectThe GitLab project details

gitlab_list_issues

List issues in a GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
statestringNoFilter by state (opened, closed, all)
labelsstringNoComma-separated list of label names
assigneeIdnumberNoFilter by assignee user ID
milestoneTitlestringNoFilter by milestone title
searchstringNoSearch issues by title and description
orderBystringNoOrder by field (created_at, updated_at, priority, due_date, relative_position, label_priority, milestone_due, popularity, weight)
sortstringNoSort direction (asc, desc)
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
issuesarrayList of GitLab issues
totalnumberTotal number of issues

gitlab_get_issue

Get details of a specific GitLab issue

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
issueIidnumberYesIssue number within the project (the # shown in GitLab UI)

Output

ParameterTypeDescription
issueobjectThe GitLab issue details

gitlab_create_issue

Create a new issue in a GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
titlestringYesIssue title
descriptionstringNoIssue description (Markdown supported)
labelsstringNoComma-separated list of label names
assigneeIdsarrayNoArray of user IDs to assign
milestoneIdnumberNoMilestone ID to assign
dueDatestringNoDue date in YYYY-MM-DD format
confidentialbooleanNoWhether the issue is confidential

Output

ParameterTypeDescription
issueobjectThe created GitLab issue

gitlab_update_issue

Update an existing issue in a GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
issueIidnumberYesIssue internal ID (IID)
titlestringNoNew issue title
descriptionstringNoNew issue description (Markdown supported)
stateEventstringNoState event (close or reopen)
labelsstringNoComma-separated list of label names
assigneeIdsarrayNoArray of user IDs to assign
milestoneIdnumberNoMilestone ID to assign
dueDatestringNoDue date in YYYY-MM-DD format
confidentialbooleanNoWhether the issue is confidential

Output

ParameterTypeDescription
issueobjectThe updated GitLab issue

gitlab_delete_issue

Delete an issue from a GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
issueIidnumberYesIssue internal ID (IID)

Output

ParameterTypeDescription
successbooleanWhether the issue was deleted successfully

gitlab_create_issue_note

Add a comment to a GitLab issue

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
issueIidnumberYesIssue internal ID (IID)
bodystringYesComment body (Markdown supported)
internalbooleanNoCreate the comment as an internal note visible only to project members

Output

ParameterTypeDescription
noteobjectThe created comment

gitlab_list_merge_requests

List merge requests in a GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
statestringNoFilter by state (opened, closed, locked, merged, all)
labelsstringNoComma-separated list of label names
sourceBranchstringNoFilter by source branch
targetBranchstringNoFilter by target branch
orderBystringNoOrder by field (created_at, updated_at, merged_at, priority, label_priority, milestone_due, popularity, title)
sortstringNoSort direction (asc, desc)
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
mergeRequestsarrayList of GitLab merge requests
totalnumberTotal number of merge requests

gitlab_get_merge_request

Get details of a specific GitLab merge request

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
mergeRequestIidnumberYesMerge request internal ID (IID)

Output

ParameterTypeDescription
mergeRequestobjectThe GitLab merge request details

gitlab_create_merge_request

Create a new merge request in a GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
sourceBranchstringYesSource branch name
targetBranchstringYesTarget branch name
titlestringYesMerge request title
descriptionstringNoMerge request description (Markdown supported)
labelsstringNoComma-separated list of label names
assigneeIdsarrayNoArray of user IDs to assign
milestoneIdnumberNoMilestone ID to assign
removeSourceBranchbooleanNoDelete source branch after merge
squashbooleanNoSquash commits on merge
draftbooleanNoMark as draft (applied via the "Draft:" title prefix)

Output

ParameterTypeDescription
mergeRequestobjectThe created GitLab merge request

gitlab_update_merge_request

Update an existing merge request in a GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
mergeRequestIidnumberYesMerge request internal ID (IID)
titlestringNoNew merge request title
descriptionstringNoNew merge request description
stateEventstringNoState event (close or reopen)
labelsstringNoComma-separated list of label names
assigneeIdsarrayNoArray of user IDs to assign
milestoneIdnumberNoMilestone ID to assign
targetBranchstringNoNew target branch
removeSourceBranchbooleanNoDelete source branch after merge
squashbooleanNoSquash commits on merge
draftbooleanNoMark as draft or remove draft status (applied via the "Draft:" title prefix; requires title to be set)

Output

ParameterTypeDescription
mergeRequestobjectThe updated GitLab merge request

gitlab_merge_merge_request

Merge a merge request in a GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
mergeRequestIidnumberYesMerge request internal ID (IID)
mergeCommitMessagestringNoCustom merge commit message
squashCommitMessagestringNoCustom squash commit message
squashbooleanNoSquash commits before merging
shouldRemoveSourceBranchbooleanNoDelete source branch after merge
mergeWhenPipelineSucceedsbooleanNoMerge when pipeline succeeds

Output

ParameterTypeDescription
mergeRequestobjectThe merged GitLab merge request

gitlab_create_merge_request_note

Add a comment to a GitLab merge request

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
mergeRequestIidnumberYesMerge request internal ID (IID)
bodystringYesComment body (Markdown supported)
internalbooleanNoCreate the comment as an internal note visible only to project members

Output

ParameterTypeDescription
noteobjectThe created comment

gitlab_list_pipelines

List pipelines in a GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
refstringNoFilter by ref (branch or tag)
statusstringNoFilter by status (created, waiting_for_resource, preparing, pending, running, success, failed, canceling, canceled, skipped, manual, scheduled, waiting_for_callback)
orderBystringNoOrder by field (id, status, ref, updated_at, user_id)
sortstringNoSort direction (asc, desc)
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
pipelinesarrayList of GitLab pipelines
totalnumberTotal number of pipelines

gitlab_get_pipeline

Get details of a specific GitLab pipeline

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
pipelineIdnumberYesPipeline ID

Output

ParameterTypeDescription
pipelineobjectThe GitLab pipeline details

gitlab_create_pipeline

Trigger a new pipeline in a GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
refstringYesBranch or tag to run the pipeline on
variablesarrayNoArray of variables for the pipeline (each with key, value, and optional variable_type)
inputsjsonNoPipeline inputs as a key/value object (for pipelines with spec:inputs)

Output

ParameterTypeDescription
pipelineobjectThe created GitLab pipeline

gitlab_retry_pipeline

Retry a failed GitLab pipeline

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
pipelineIdnumberYesPipeline ID

Output

ParameterTypeDescription
pipelineobjectThe retried GitLab pipeline

gitlab_cancel_pipeline

Cancel a running GitLab pipeline

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
pipelineIdnumberYesPipeline ID

Output

ParameterTypeDescription
pipelineobjectThe cancelled GitLab pipeline

gitlab_list_repository_tree

List files and directories in a GitLab project repository

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
pathstringNoPath inside the repository to list
refstringNoBranch, tag, or commit SHA to list from
recursivebooleanNoWhether to list files recursively
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
treearrayList of repository tree entries
totalnumberTotal number of tree entries

gitlab_get_file

Get the contents of a file from a GitLab project repository

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
filePathstringYesPath to the file in the repository
refstringYesBranch, tag, or commit SHA

Output

ParameterTypeDescription
filePathstringThe file path
fileNamestringThe file name
sizenumberThe file size in bytes
refstringThe branch, tag, or commit SHA
blobIdstringThe blob ID
lastCommitIdstringThe last commit ID that modified the file
contentstringThe decoded file content, truncated to 1M characters
truncatedbooleanWhether the content was truncated

gitlab_create_file

Create a new file in a GitLab project repository

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
filePathstringYesPath to the file in the repository
branchstringYesBranch to commit the new file to
contentstringYesFile content
startBranchstringNoName of the base branch to create the target branch from, if it does not exist
authorNamestringNoCommit author name (defaults to the token user)
authorEmailstringNoCommit author email (defaults to the token user)
executeFilemodebooleanNoEnable the execute flag on the file
commitMessagestringYesCommit message

Output

ParameterTypeDescription
filePathstringThe created file path
branchstringThe branch the file was committed to

gitlab_update_file

Update an existing file in a GitLab project repository

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
filePathstringYesPath to the file in the repository
branchstringYesBranch to commit the update to
contentstringYesNew file content
startBranchstringNoName of the base branch to create the target branch from, if it does not exist
authorNamestringNoCommit author name (defaults to the token user)
authorEmailstringNoCommit author email (defaults to the token user)
executeFilemodebooleanNoEnable or disable the execute flag on the file
commitMessagestringYesCommit message
lastCommitIdstringNoLast known commit ID for the file (optimistic locking)

Output

ParameterTypeDescription
filePathstringThe updated file path
branchstringThe branch the update was committed to

gitlab_create_branch

Create a new branch in a GitLab project repository

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
branchstringYesName of the new branch
refstringYesSource branch/tag/SHA

Output

ParameterTypeDescription
namestringThe created branch name
webUrlstringThe web URL of the branch
protectedbooleanWhether the branch is protected
commitobjectThe commit the branch points to

gitlab_delete_branch

Delete a branch from a GitLab project repository

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
branchstringYesName of the branch to delete

Output

ParameterTypeDescription
successbooleanWhether the branch was deleted successfully

gitlab_compare_branches

Compare two branches, tags, or commits in a GitLab project repository

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
fromstringYesCommit SHA or branch/tag name to compare from
tostringYesCommit SHA or branch/tag name to compare to
straightbooleanNoCompare directly from..to instead of using the merge base (defaults to false)
fromProjectIdstringNoID of the project to compare from (for cross-fork comparisons)
unidiffbooleanNoReturn diffs in unified diff format (GitLab 16.5+)

Output

ParameterTypeDescription
commitobjectThe latest commit in the comparison
commitsarrayCommits between the two references
diffsarrayFile diffs between the two references
compareTimeoutbooleanWhether the comparison exceeded size limits or timed out
compareSameRefbooleanWhether both references point to the same commit
webUrlstringThe web URL for viewing the comparison

gitlab_list_branches

List branches in a GitLab project repository

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
searchstringNoFilter branches by name
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
branchesarrayList of branches
totalnumberTotal number of branches

gitlab_list_commits

List commits in a GitLab project repository

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
refNamestringNoBranch, tag, or revision range to list commits from
sincestringNoOnly commits after this ISO 8601 date
untilstringNoOnly commits before this ISO 8601 date
pathstringNoOnly commits affecting this file path
authorstringNoFilter commits by author
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
commitsarrayList of commits
totalnumberNumber of commits returned on this page (GitLab does not report a grand total for commits)

gitlab_get_merge_request_changes

Get the file changes (diffs) of a GitLab merge request

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
mergeRequestIidnumberYesMerge request internal ID (IID)

Output

ParameterTypeDescription
mergeRequestIidnumberThe merge request internal ID (IID)
changesarrayList of file changes (diffs)
changesCountnumberNumber of changed files returned (first 100)
hasMorebooleanWhether the merge request has more than 100 changed files (results truncated)

gitlab_approve_merge_request

Approve a GitLab merge request

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
mergeRequestIidnumberYesMerge request internal ID (IID)
shastringNoHEAD SHA of the merge request to approve

Output

ParameterTypeDescription
approvalsRequirednumberNumber of approvals required
approvalsLeftnumberNumber of approvals still needed
approvedByarrayList of approvers

gitlab_list_pipeline_jobs

List jobs for a GitLab pipeline

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
pipelineIdnumberYesPipeline ID
scopestringNoFilter jobs by scope (e.g. created, running, success, failed)
includeRetriedbooleanNoWhether to include retried jobs
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
jobsarrayList of pipeline jobs
totalnumberTotal number of jobs

gitlab_get_job_log

Get the log (trace) of a GitLab job

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
jobIdnumberYesJob ID

Output

ParameterTypeDescription
logstringThe job log (trace) output, truncated to 200k characters
truncatedbooleanWhether the log was truncated

gitlab_play_job

Trigger (play) a manual GitLab job

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
jobIdnumberYesJob ID
jobVariablesarrayNoVariables for the manual job (array of objects with key and value)

Output

ParameterTypeDescription
idnumberThe job ID
namestringThe job name
statusstringThe job status
webUrlstringThe web URL of the job

gitlab_list_releases

List releases in a GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
orderBystringNoOrder by field (released_at, created_at)
sortstringNoSort direction (asc, desc)
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
releasesarrayList of GitLab releases
totalnumberTotal number of releases

gitlab_create_release

Create a new release in a GitLab project

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
projectIdstringYesProject ID or path (e.g. mygroup/myproject)
tagNamestringYesThe Git tag for the release
namestringNoThe release name
descriptionstringNoRelease description/notes (Markdown supported)
refstringNoCommit SHA, branch, or tag to create the tag from if it does not already exist
releasedAtstringNoISO 8601 date for an upcoming or historical release
tagMessagestringNoAnnotation message to use if creating a new annotated tag
assetLinksarrayNoRelease asset links: array of objects with name, url, and optional link_type (other, runbook, image, package)
milestonesarrayNoArray of milestone titles to associate with the release

Output

ParameterTypeDescription
releaseobjectThe created GitLab release

gitlab_list_members

List members of a GitLab project or group. Includes members inherited from ancestor groups by default.

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
resourceTypestringYesWhether the resource is a 'project' or a 'group'
resourceIdstringYesProject or group ID or path (e.g. mygroup/myproject)
directOnlybooleanNoWhen true, returns only direct members. Defaults to false, which also returns members inherited from ancestor groups.
querystringNoFilter members by name, email, or username
userIdsstringNoComma-separated user IDs to filter the results to
statestringNoFilter inherited-member results by state: 'awaiting' or 'active' (Premium/Ultimate; only applies when inherited members are included)
showSeatInfobooleanNoInclude seat information for each member
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
membersarrayList of project or group members
totalnumberTotal number of members

gitlab_add_member

Add an existing GitLab user to a project or group at a given access level

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
resourceTypestringYesWhether the resource is a 'project' or a 'group'
resourceIdstringYesProject or group ID or path (e.g. mygroup/myproject)
userIdnumberNoThe ID of the user to add. Provide either userId or username.
usernamestringNoThe username of the user to add. Provide either userId or username.
accessLevelnumberYesAccess level: 0 (No access), 5 (Minimal), 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner)
expiresAtstringNoAccess expiration date in YYYY-MM-DD format
memberRoleIdnumberNoCustom member role ID (GitLab Ultimate only)

Output

ParameterTypeDescription
memberobjectThe added member
alreadyMemberbooleanWhether the user was already a member (add was a no-op)

gitlab_update_member

Update a member's access level in a GitLab project or group

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
resourceTypestringYesWhether the resource is a 'project' or a 'group'
resourceIdstringYesProject or group ID or path (e.g. mygroup/myproject)
userIdnumberYesThe ID of the member to update
accessLevelnumberYesNew access level: 0 (No access), 5 (Minimal), 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner)
expiresAtstringNoAccess expiration date in YYYY-MM-DD format. Pass an empty string to clear an existing expiration.
memberRoleIdnumberNoCustom member role ID (GitLab Ultimate only). Warning: when omitted, GitLab removes any custom role the member currently holds.

Output

ParameterTypeDescription
memberobjectThe updated member

gitlab_remove_member

Remove a member from a GitLab project or group

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
resourceTypestringYesWhether the resource is a 'project' or a 'group'
resourceIdstringYesProject or group ID or path (e.g. mygroup/myproject)
userIdnumberYesThe ID of the member to remove
skipSubresourcesbooleanNoSkip deleting the member from subgroups and projects below the target (defaults to false)
unassignIssuablesbooleanNoUnassign the member from all issues and merge requests in the target (defaults to false)

Output

ParameterTypeDescription
successbooleanWhether the member was removed successfully

gitlab_invite_member

Invite a person to a GitLab project or group by email address

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
resourceTypestringYesWhether the resource is a 'project' or a 'group'
resourceIdstringYesProject or group ID or path (e.g. mygroup/myproject)
emailstringYesEmail address to invite (comma-separated for multiple)
accessLevelnumberYesAccess level: 0 (No access), 5 (Minimal), 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner)
expiresAtstringNoAccess expiration date in YYYY-MM-DD format
memberRoleIdnumberNoCustom member role ID (GitLab Ultimate only)
inviteSourcestringNoIdentifier recorded as the source of the invitation (for attribution)

Output

ParameterTypeDescription
statusstringInvitation status returned by GitLab
messageobjectPer-email result detail, if any

gitlab_list_invitations

List pending email invitations for a GitLab project or group

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
resourceTypestringYesWhether the resource is a 'project' or a 'group'
resourceIdstringYesProject or group ID or path (e.g. mygroup/myproject)
querystringNoFilter invitations by invited email
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
invitationsarrayList of pending invitations
totalnumberTotal number of invitations

gitlab_update_invitation

Update a pending invitation to a GitLab project or group

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
resourceTypestringYesWhether the resource is a 'project' or a 'group'
resourceIdstringYesProject or group ID or path (e.g. mygroup/myproject)
emailstringYesEmail address of the invitation to update
accessLevelnumberNoNew access level: 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner)
expiresAtstringNoAccess expiration date (ISO 8601, e.g. 2026-12-31T00:00:00Z; date-only also accepted). At least one of accessLevel or expiresAt must be provided.

Output

ParameterTypeDescription
invitationobjectThe updated invitation

gitlab_revoke_invitation

Revoke a pending email invitation to a GitLab project or group

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
resourceTypestringYesWhether the resource is a 'project' or a 'group'
resourceIdstringYesProject or group ID or path (e.g. mygroup/myproject)
emailstringYesEmail address of the invitation to revoke

Output

ParameterTypeDescription
successbooleanWhether the invitation was revoked successfully

gitlab_list_access_requests

List pending access requests for a GitLab project or group

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
resourceTypestringYesWhether the resource is a 'project' or a 'group'
resourceIdstringYesProject or group ID or path (e.g. mygroup/myproject)
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
accessRequestsarrayList of pending access requests
totalnumberTotal number of access requests

gitlab_approve_access_request

Approve a pending access request for a GitLab project or group

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
resourceTypestringYesWhether the resource is a 'project' or a 'group'
resourceIdstringYesProject or group ID or path (e.g. mygroup/myproject)
userIdnumberYesThe user ID of the access requester
accessLevelnumberNoAccess level to grant: 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner). Defaults to 30 (Developer).

Output

ParameterTypeDescription
accessRequestobjectThe approved access request

gitlab_deny_access_request

Deny (delete) a pending access request for a GitLab project or group

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
resourceTypestringYesWhether the resource is a 'project' or a 'group'
resourceIdstringYesProject or group ID or path (e.g. mygroup/myproject)
userIdnumberYesThe user ID of the access requester

Output

ParameterTypeDescription
successbooleanWhether the access request was denied successfully

List SAML group links for a GitLab group. Use this to detect whether a group is governed by SAML group sync before provisioning members.

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
groupIdstringYesGroup ID or path (e.g. my-org/my-group)

Output

ParameterTypeDescription
samlGroupLinksarrayList of SAML group links
totalnumberNumber of SAML group links

gitlab_search_users

Search for GitLab users by name, username, or email. Email matches must be exact; private emails match only with an admin token. Use this to resolve an email to a user ID before adding a member.

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
searchstringYesName, username, or email to search for
perPagenumberNoNumber of results per page (default 20, max 100)
pagenumberNoPage number for pagination

Output

ParameterTypeDescription
usersarrayList of matching users
totalnumberTotal number of matching users

gitlab_create_user

Create a new GitLab user. Requires an administrator token with admin_mode on the instance.

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
emailstringYesThe user's email address
usernamestringYesThe user's username
namestringYesThe user's display name
passwordstringNoThe user's password. Omit and set resetPassword to email a reset link instead.
resetPasswordbooleanNoSend the user a password reset link instead of setting a password
forceRandomPasswordbooleanNoSet a random password without emailing a reset link (useful for SSO-only accounts). One of password, resetPassword, or forceRandomPassword is required.
adminbooleanNoWhether the new user is an administrator
skipConfirmationbooleanNoSkip email confirmation for the new user

Output

ParameterTypeDescription
userobjectThe created user

gitlab_update_user

Modify an existing GitLab user. Requires an administrator token with admin_mode on the instance.

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
userIdnumberYesThe ID of the user to modify
emailstringNoThe user's new email address (GitLab only allows changing to one of the user's existing verified secondary emails)
usernamestringNoThe user's new username
namestringNoThe user's new display name
adminbooleanNoWhether the user is an administrator

Output

ParameterTypeDescription
userobjectThe updated user

gitlab_delete_user

Delete a GitLab user. Requires an administrator token with admin_mode on the instance.

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
userIdnumberYesThe ID of the user to delete
hardDeletebooleanNoWhen true, contributions, personal projects, AND groups owned solely by this user are deleted rather than moved to a Ghost User

Output

ParameterTypeDescription
successbooleanWhether the user was deleted successfully

gitlab_block_user

Input

ParameterTypeRequiredDescription

Output

ParameterTypeDescription
projectsjsonList of projects
projectjsonProject details
issuesjsonList of issues
issuejsonIssue details
mergeRequestsjsonList of merge requests
mergeRequestjsonMerge request details
mergeRequestIidnumberMerge request internal ID (IID)
pipelinesjsonList of pipelines
pipelinejsonPipeline details
notejsonComment/note details
treejsonRepository tree entries
contentstringFile contents (decoded)
fileNamestringFile name
filePathstringPath to the file in the repository
branchstringBranch the file was committed to
branchesjsonList of branches
commitsjsonList of commits
commitjsonA single commit (e.g. latest commit in a comparison)
namestringCreated branch name
protectedbooleanWhether the branch is protected
sizenumberFile size in bytes
refstringThe branch, tag, or commit SHA
blobIdstringThe blob ID
lastCommitIdstringThe last commit ID that modified the file
webUrlstringWeb URL
changesjsonMerge request file changes/diffs
changesCountnumberNumber of changed files returned (first 100)
hasMorebooleanWhether more changed files exist beyond the first 100
approvalsRequirednumberApprovals required
approvalsLeftnumberApprovals remaining
approvedByjsonList of approvers
jobsjsonPipeline jobs
logstringJob log output
idnumberJob ID
statusstringJob status
diffsjsonFile diffs between two compared references
compareTimeoutbooleanWhether the comparison timed out
compareSameRefbooleanWhether both compared references match
releasesjsonList of releases
releasejsonRelease details
membersjsonList of project or group members
memberjsonA single member
alreadyMemberbooleanWhether the user was already a member
invitationsjsonList of pending invitations
invitationjsonA single invitation
accessRequestsjsonList of pending access requests
accessRequestjsonA single access request
samlGroupLinksjsonList of SAML group links
samlGroupLinkjsonA single SAML group link
messagejsonPer-email invitation result detail
usersjsonList of matching users
userjsonUser details
totalnumberTotal number of items available across all pages
truncatedbooleanWhether returned content (file content or job log) was truncated
successbooleanOperation success status

gitlab_unblock_user

Input

ParameterTypeRequiredDescription

Output

ParameterTypeDescription
projectsjsonList of projects
projectjsonProject details
issuesjsonList of issues
issuejsonIssue details
mergeRequestsjsonList of merge requests
mergeRequestjsonMerge request details
mergeRequestIidnumberMerge request internal ID (IID)
pipelinesjsonList of pipelines
pipelinejsonPipeline details
notejsonComment/note details
treejsonRepository tree entries
contentstringFile contents (decoded)
fileNamestringFile name
filePathstringPath to the file in the repository
branchstringBranch the file was committed to
branchesjsonList of branches
commitsjsonList of commits
commitjsonA single commit (e.g. latest commit in a comparison)
namestringCreated branch name
protectedbooleanWhether the branch is protected
sizenumberFile size in bytes
refstringThe branch, tag, or commit SHA
blobIdstringThe blob ID
lastCommitIdstringThe last commit ID that modified the file
webUrlstringWeb URL
changesjsonMerge request file changes/diffs
changesCountnumberNumber of changed files returned (first 100)
hasMorebooleanWhether more changed files exist beyond the first 100
approvalsRequirednumberApprovals required
approvalsLeftnumberApprovals remaining
approvedByjsonList of approvers
jobsjsonPipeline jobs
logstringJob log output
idnumberJob ID
statusstringJob status
diffsjsonFile diffs between two compared references
compareTimeoutbooleanWhether the comparison timed out
compareSameRefbooleanWhether both compared references match
releasesjsonList of releases
releasejsonRelease details
membersjsonList of project or group members
memberjsonA single member
alreadyMemberbooleanWhether the user was already a member
invitationsjsonList of pending invitations
invitationjsonA single invitation
accessRequestsjsonList of pending access requests
accessRequestjsonA single access request
samlGroupLinksjsonList of SAML group links
samlGroupLinkjsonA single SAML group link
messagejsonPer-email invitation result detail
usersjsonList of matching users
userjsonUser details
totalnumberTotal number of items available across all pages
truncatedbooleanWhether returned content (file content or job log) was truncated
successbooleanOperation success status

gitlab_deactivate_user

Input

ParameterTypeRequiredDescription

Output

ParameterTypeDescription
projectsjsonList of projects
projectjsonProject details
issuesjsonList of issues
issuejsonIssue details
mergeRequestsjsonList of merge requests
mergeRequestjsonMerge request details
mergeRequestIidnumberMerge request internal ID (IID)
pipelinesjsonList of pipelines
pipelinejsonPipeline details
notejsonComment/note details
treejsonRepository tree entries
contentstringFile contents (decoded)
fileNamestringFile name
filePathstringPath to the file in the repository
branchstringBranch the file was committed to
branchesjsonList of branches
commitsjsonList of commits
commitjsonA single commit (e.g. latest commit in a comparison)
namestringCreated branch name
protectedbooleanWhether the branch is protected
sizenumberFile size in bytes
refstringThe branch, tag, or commit SHA
blobIdstringThe blob ID
lastCommitIdstringThe last commit ID that modified the file
webUrlstringWeb URL
changesjsonMerge request file changes/diffs
changesCountnumberNumber of changed files returned (first 100)
hasMorebooleanWhether more changed files exist beyond the first 100
approvalsRequirednumberApprovals required
approvalsLeftnumberApprovals remaining
approvedByjsonList of approvers
jobsjsonPipeline jobs
logstringJob log output
idnumberJob ID
statusstringJob status
diffsjsonFile diffs between two compared references
compareTimeoutbooleanWhether the comparison timed out
compareSameRefbooleanWhether both compared references match
releasesjsonList of releases
releasejsonRelease details
membersjsonList of project or group members
memberjsonA single member
alreadyMemberbooleanWhether the user was already a member
invitationsjsonList of pending invitations
invitationjsonA single invitation
accessRequestsjsonList of pending access requests
accessRequestjsonA single access request
samlGroupLinksjsonList of SAML group links
samlGroupLinkjsonA single SAML group link
messagejsonPer-email invitation result detail
usersjsonList of matching users
userjsonUser details
totalnumberTotal number of items available across all pages
truncatedbooleanWhether returned content (file content or job log) was truncated
successbooleanOperation success status

gitlab_activate_user

Input

ParameterTypeRequiredDescription

Output

ParameterTypeDescription
projectsjsonList of projects
projectjsonProject details
issuesjsonList of issues
issuejsonIssue details
mergeRequestsjsonList of merge requests
mergeRequestjsonMerge request details
mergeRequestIidnumberMerge request internal ID (IID)
pipelinesjsonList of pipelines
pipelinejsonPipeline details
notejsonComment/note details
treejsonRepository tree entries
contentstringFile contents (decoded)
fileNamestringFile name
filePathstringPath to the file in the repository
branchstringBranch the file was committed to
branchesjsonList of branches
commitsjsonList of commits
commitjsonA single commit (e.g. latest commit in a comparison)
namestringCreated branch name
protectedbooleanWhether the branch is protected
sizenumberFile size in bytes
refstringThe branch, tag, or commit SHA
blobIdstringThe blob ID
lastCommitIdstringThe last commit ID that modified the file
webUrlstringWeb URL
changesjsonMerge request file changes/diffs
changesCountnumberNumber of changed files returned (first 100)
hasMorebooleanWhether more changed files exist beyond the first 100
approvalsRequirednumberApprovals required
approvalsLeftnumberApprovals remaining
approvedByjsonList of approvers
jobsjsonPipeline jobs
logstringJob log output
idnumberJob ID
statusstringJob status
diffsjsonFile diffs between two compared references
compareTimeoutbooleanWhether the comparison timed out
compareSameRefbooleanWhether both compared references match
releasesjsonList of releases
releasejsonRelease details
membersjsonList of project or group members
memberjsonA single member
alreadyMemberbooleanWhether the user was already a member
invitationsjsonList of pending invitations
invitationjsonA single invitation
accessRequestsjsonList of pending access requests
accessRequestjsonA single access request
samlGroupLinksjsonList of SAML group links
samlGroupLinkjsonA single SAML group link
messagejsonPer-email invitation result detail
usersjsonList of matching users
userjsonUser details
totalnumberTotal number of items available across all pages
truncatedbooleanWhether returned content (file content or job log) was truncated
successbooleanOperation success status

gitlab_ban_user

Input

ParameterTypeRequiredDescription

Output

ParameterTypeDescription
projectsjsonList of projects
projectjsonProject details
issuesjsonList of issues
issuejsonIssue details
mergeRequestsjsonList of merge requests
mergeRequestjsonMerge request details
mergeRequestIidnumberMerge request internal ID (IID)
pipelinesjsonList of pipelines
pipelinejsonPipeline details
notejsonComment/note details
treejsonRepository tree entries
contentstringFile contents (decoded)
fileNamestringFile name
filePathstringPath to the file in the repository
branchstringBranch the file was committed to
branchesjsonList of branches
commitsjsonList of commits
commitjsonA single commit (e.g. latest commit in a comparison)
namestringCreated branch name
protectedbooleanWhether the branch is protected
sizenumberFile size in bytes
refstringThe branch, tag, or commit SHA
blobIdstringThe blob ID
lastCommitIdstringThe last commit ID that modified the file
webUrlstringWeb URL
changesjsonMerge request file changes/diffs
changesCountnumberNumber of changed files returned (first 100)
hasMorebooleanWhether more changed files exist beyond the first 100
approvalsRequirednumberApprovals required
approvalsLeftnumberApprovals remaining
approvedByjsonList of approvers
jobsjsonPipeline jobs
logstringJob log output
idnumberJob ID
statusstringJob status
diffsjsonFile diffs between two compared references
compareTimeoutbooleanWhether the comparison timed out
compareSameRefbooleanWhether both compared references match
releasesjsonList of releases
releasejsonRelease details
membersjsonList of project or group members
memberjsonA single member
alreadyMemberbooleanWhether the user was already a member
invitationsjsonList of pending invitations
invitationjsonA single invitation
accessRequestsjsonList of pending access requests
accessRequestjsonA single access request
samlGroupLinksjsonList of SAML group links
samlGroupLinkjsonA single SAML group link
messagejsonPer-email invitation result detail
usersjsonList of matching users
userjsonUser details
totalnumberTotal number of items available across all pages
truncatedbooleanWhether returned content (file content or job log) was truncated
successbooleanOperation success status

gitlab_unban_user

Input

ParameterTypeRequiredDescription

Output

ParameterTypeDescription
projectsjsonList of projects
projectjsonProject details
issuesjsonList of issues
issuejsonIssue details
mergeRequestsjsonList of merge requests
mergeRequestjsonMerge request details
mergeRequestIidnumberMerge request internal ID (IID)
pipelinesjsonList of pipelines
pipelinejsonPipeline details
notejsonComment/note details
treejsonRepository tree entries
contentstringFile contents (decoded)
fileNamestringFile name
filePathstringPath to the file in the repository
branchstringBranch the file was committed to
branchesjsonList of branches
commitsjsonList of commits
commitjsonA single commit (e.g. latest commit in a comparison)
namestringCreated branch name
protectedbooleanWhether the branch is protected
sizenumberFile size in bytes
refstringThe branch, tag, or commit SHA
blobIdstringThe blob ID
lastCommitIdstringThe last commit ID that modified the file
webUrlstringWeb URL
changesjsonMerge request file changes/diffs
changesCountnumberNumber of changed files returned (first 100)
hasMorebooleanWhether more changed files exist beyond the first 100
approvalsRequirednumberApprovals required
approvalsLeftnumberApprovals remaining
approvedByjsonList of approvers
jobsjsonPipeline jobs
logstringJob log output
idnumberJob ID
statusstringJob status
diffsjsonFile diffs between two compared references
compareTimeoutbooleanWhether the comparison timed out
compareSameRefbooleanWhether both compared references match
releasesjsonList of releases
releasejsonRelease details
membersjsonList of project or group members
memberjsonA single member
alreadyMemberbooleanWhether the user was already a member
invitationsjsonList of pending invitations
invitationjsonA single invitation
accessRequestsjsonList of pending access requests
accessRequestjsonA single access request
samlGroupLinksjsonList of SAML group links
samlGroupLinkjsonA single SAML group link
messagejsonPer-email invitation result detail
usersjsonList of matching users
userjsonUser details
totalnumberTotal number of items available across all pages
truncatedbooleanWhether returned content (file content or job log) was truncated
successbooleanOperation success status

gitlab_approve_user

Input

ParameterTypeRequiredDescription

Output

ParameterTypeDescription
projectsjsonList of projects
projectjsonProject details
issuesjsonList of issues
issuejsonIssue details
mergeRequestsjsonList of merge requests
mergeRequestjsonMerge request details
mergeRequestIidnumberMerge request internal ID (IID)
pipelinesjsonList of pipelines
pipelinejsonPipeline details
notejsonComment/note details
treejsonRepository tree entries
contentstringFile contents (decoded)
fileNamestringFile name
filePathstringPath to the file in the repository
branchstringBranch the file was committed to
branchesjsonList of branches
commitsjsonList of commits
commitjsonA single commit (e.g. latest commit in a comparison)
namestringCreated branch name
protectedbooleanWhether the branch is protected
sizenumberFile size in bytes
refstringThe branch, tag, or commit SHA
blobIdstringThe blob ID
lastCommitIdstringThe last commit ID that modified the file
webUrlstringWeb URL
changesjsonMerge request file changes/diffs
changesCountnumberNumber of changed files returned (first 100)
hasMorebooleanWhether more changed files exist beyond the first 100
approvalsRequirednumberApprovals required
approvalsLeftnumberApprovals remaining
approvedByjsonList of approvers
jobsjsonPipeline jobs
logstringJob log output
idnumberJob ID
statusstringJob status
diffsjsonFile diffs between two compared references
compareTimeoutbooleanWhether the comparison timed out
compareSameRefbooleanWhether both compared references match
releasesjsonList of releases
releasejsonRelease details
membersjsonList of project or group members
memberjsonA single member
alreadyMemberbooleanWhether the user was already a member
invitationsjsonList of pending invitations
invitationjsonA single invitation
accessRequestsjsonList of pending access requests
accessRequestjsonA single access request
samlGroupLinksjsonList of SAML group links
samlGroupLinkjsonA single SAML group link
messagejsonPer-email invitation result detail
usersjsonList of matching users
userjsonUser details
totalnumberTotal number of items available across all pages
truncatedbooleanWhether returned content (file content or job log) was truncated
successbooleanOperation success status

gitlab_reject_user

Input

ParameterTypeRequiredDescription

Output

ParameterTypeDescription
projectsjsonList of projects
projectjsonProject details
issuesjsonList of issues
issuejsonIssue details
mergeRequestsjsonList of merge requests
mergeRequestjsonMerge request details
mergeRequestIidnumberMerge request internal ID (IID)
pipelinesjsonList of pipelines
pipelinejsonPipeline details
notejsonComment/note details
treejsonRepository tree entries
contentstringFile contents (decoded)
fileNamestringFile name
filePathstringPath to the file in the repository
branchstringBranch the file was committed to
branchesjsonList of branches
commitsjsonList of commits
commitjsonA single commit (e.g. latest commit in a comparison)
namestringCreated branch name
protectedbooleanWhether the branch is protected
sizenumberFile size in bytes
refstringThe branch, tag, or commit SHA
blobIdstringThe blob ID
lastCommitIdstringThe last commit ID that modified the file
webUrlstringWeb URL
changesjsonMerge request file changes/diffs
changesCountnumberNumber of changed files returned (first 100)
hasMorebooleanWhether more changed files exist beyond the first 100
approvalsRequirednumberApprovals required
approvalsLeftnumberApprovals remaining
approvedByjsonList of approvers
jobsjsonPipeline jobs
logstringJob log output
idnumberJob ID
statusstringJob status
diffsjsonFile diffs between two compared references
compareTimeoutbooleanWhether the comparison timed out
compareSameRefbooleanWhether both compared references match
releasesjsonList of releases
releasejsonRelease details
membersjsonList of project or group members
memberjsonA single member
alreadyMemberbooleanWhether the user was already a member
invitationsjsonList of pending invitations
invitationjsonA single invitation
accessRequestsjsonList of pending access requests
accessRequestjsonA single access request
samlGroupLinksjsonList of SAML group links
samlGroupLinkjsonA single SAML group link
messagejsonPer-email invitation result detail
usersjsonList of matching users
userjsonUser details
totalnumberTotal number of items available across all pages
truncatedbooleanWhether returned content (file content or job log) was truncated
successbooleanOperation success status

gitlab_delete_user_identity

Delete a user's authentication identity (e.g. SAML or LDAP). Requires an administrator token with admin_mode on the instance.

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
userIdnumberYesThe ID of the user
providerstringYesThe external identity provider name (e.g. saml, ldapmain)

Output

ParameterTypeDescription
successbooleanWhether the identity was deleted successfully

Add a SAML group link that maps an identity-provider group to a GitLab group at a given access level (GitLab Premium/Ultimate)

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
groupIdstringYesGroup ID or path (e.g. my-org/my-group)
samlGroupNamestringYesThe name of the SAML group as sent by the identity provider
accessLevelnumberYesAccess level granted to members of the SAML group: 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner)
memberRoleIdnumberNoCustom member role ID (GitLab Ultimate only)
providerstringNoUnique provider name that must match for this group link to be applied (GitLab 18.2+)

Output

ParameterTypeDescription
samlGroupLinkobjectThe created SAML group link

Delete a SAML group link from a GitLab group (GitLab Premium/Ultimate)

Input

ParameterTypeRequiredDescription
hoststringNoSelf-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com.
groupIdstringYesGroup ID or path (e.g. my-org/my-group)
samlGroupNamestringYesThe name of the SAML group link to delete
providerstringNoProvider name of the link to delete. Required when multiple links share the same SAML group name.

Output

ParameterTypeDescription
successbooleanWhether the SAML group link was deleted successfully

Triggers

A Trigger is a block that starts a workflow when an event happens in this service.

GitLab Comment

Trigger workflow when a comment is added on a commit, merge request, or issue

Configuration

ParameterTypeRequiredDescription
accessTokenstringYesUsed to create the webhook in your project. Requires the Maintainer or Owner role.
projectIdstringYesThe GitLab project to register the webhook on.
hoststringNoSelf-managed GitLab host. Leave blank for gitlab.com.

Output

ParameterTypeDescription
object_kindstringEvent kind (note)
event_typestringGitLab event type from the X-Gitlab-Event header
object_attributesobjectobject_attributes output from the tool
idnumberComment ID
notestringComment body
noteable_typestringWhat the comment is on (Commit, MergeRequest, Issue, Snippet)
actionstringAction (create, update)
urlstringComment URL

GitLab Event

Trigger workflow from any GitLab webhook event

Configuration

ParameterTypeRequiredDescription
accessTokenstringYesUsed to create the webhook in your project. Requires the Maintainer or Owner role.
projectIdstringYesThe GitLab project to register the webhook on.
hoststringNoSelf-managed GitLab host. Leave blank for gitlab.com.

Output

ParameterTypeDescription
object_kindstringEvent kind (push, merge_request, issue, etc.)
event_typestringGitLab event type from the X-Gitlab-Event header
userjsonActor that triggered the event (when present)
object_attributesjsonEvent-specific attributes (varies by object_kind)

GitLab Issue

Trigger workflow when an issue is opened, updated, or closed in GitLab

Configuration

ParameterTypeRequiredDescription
accessTokenstringYesUsed to create the webhook in your project. Requires the Maintainer or Owner role.
projectIdstringYesThe GitLab project to register the webhook on.
hoststringNoSelf-managed GitLab host. Leave blank for gitlab.com.

Output

ParameterTypeDescription
object_kindstringEvent kind (issue)
event_typestringGitLab event type from the X-Gitlab-Event header
object_attributesobjectobject_attributes output from the tool
idnumberGlobal issue ID
iidnumberProject-scoped issue number
titlestringIssue title
statestringState (opened, closed)
actionstringAction (open, close, reopen, update)
descriptionstringIssue description
confidentialbooleanWhether the issue is confidential
urlstringIssue URL
work_item_typestringWork item type (e.g. Issue, Incident, Task); GitLab 17.2+ only

GitLab Merge Request

Trigger workflow when a merge request is opened, updated, or merged in GitLab

Configuration

ParameterTypeRequiredDescription
accessTokenstringYesUsed to create the webhook in your project. Requires the Maintainer or Owner role.
projectIdstringYesThe GitLab project to register the webhook on.
hoststringNoSelf-managed GitLab host. Leave blank for gitlab.com.

Output

ParameterTypeDescription
object_kindstringEvent kind (merge_request)
event_typestringGitLab event type from the X-Gitlab-Event header
object_attributesobjectobject_attributes output from the tool
idnumberGlobal merge request ID
iidnumberProject-scoped merge request number
titlestringMerge request title
statestringState (opened, closed, merged, locked)
actionstringAction (open, close, reopen, update, merge, etc.)
source_branchstringSource branch
target_branchstringTarget branch
merge_statusstringMerge status (deprecated by GitLab)
detailed_merge_statusstringDetailed merge status
draftbooleanWhether the merge request is a draft
urlstringMerge request URL

GitLab Pipeline

Trigger workflow when a pipeline status changes in GitLab

Configuration

ParameterTypeRequiredDescription
accessTokenstringYesUsed to create the webhook in your project. Requires the Maintainer or Owner role.
projectIdstringYesThe GitLab project to register the webhook on.
hoststringNoSelf-managed GitLab host. Leave blank for gitlab.com.

Output

ParameterTypeDescription
object_kindstringEvent kind (pipeline)
event_typestringGitLab event type from the X-Gitlab-Event header
object_attributesobjectobject_attributes output from the tool
idnumberPipeline ID
statusstringPipeline status (success, failed, running, etc.)
detailed_statusstringDetailed pipeline status
refstringRef the pipeline ran on
shastringCommit SHA
sourcestringPipeline source (push, web, schedule, etc.)
durationnumberPipeline duration in seconds
urlstringPipeline URL

GitLab Push

Trigger workflow when commits are pushed to a GitLab project

Configuration

ParameterTypeRequiredDescription
accessTokenstringYesUsed to create the webhook in your project. Requires the Maintainer or Owner role.
projectIdstringYesThe GitLab project to register the webhook on.
hoststringNoSelf-managed GitLab host. Leave blank for gitlab.com.

Output

ParameterTypeDescription
object_kindstringEvent kind (push)
event_typestringGitLab event type from the X-Gitlab-Event header
refstringGit ref that was pushed (e.g. refs/heads/main)
branchstringBranch name derived from ref
beforestringSHA before the push
afterstringSHA after the push
checkout_shastringSHA of the most recent commit
user_usernamestringUsername of the pusher
user_namestringDisplay name of the pusher
user_emailstringEmail of the pusher
total_commits_countnumberNumber of commits in the push
commitsjsonArray of commit objects included in this push

On this page

Usage Instructions
Actions
gitlab_list_projects
Input
Output
gitlab_get_project
Input
Output
gitlab_list_issues
Input
Output
gitlab_get_issue
Input
Output
gitlab_create_issue
Input
Output
gitlab_update_issue
Input
Output
gitlab_delete_issue
Input
Output
gitlab_create_issue_note
Input
Output
gitlab_list_merge_requests
Input
Output
gitlab_get_merge_request
Input
Output
gitlab_create_merge_request
Input
Output
gitlab_update_merge_request
Input
Output
gitlab_merge_merge_request
Input
Output
gitlab_create_merge_request_note
Input
Output
gitlab_list_pipelines
Input
Output
gitlab_get_pipeline
Input
Output
gitlab_create_pipeline
Input
Output
gitlab_retry_pipeline
Input
Output
gitlab_cancel_pipeline
Input
Output
gitlab_list_repository_tree
Input
Output
gitlab_get_file
Input
Output
gitlab_create_file
Input
Output
gitlab_update_file
Input
Output
gitlab_create_branch
Input
Output
gitlab_delete_branch
Input
Output
gitlab_compare_branches
Input
Output
gitlab_list_branches
Input
Output
gitlab_list_commits
Input
Output
gitlab_get_merge_request_changes
Input
Output
gitlab_approve_merge_request
Input
Output
gitlab_list_pipeline_jobs
Input
Output
gitlab_get_job_log
Input
Output
gitlab_play_job
Input
Output
gitlab_list_releases
Input
Output
gitlab_create_release
Input
Output
gitlab_list_members
Input
Output
gitlab_add_member
Input
Output
gitlab_update_member
Input
Output
gitlab_remove_member
Input
Output
gitlab_invite_member
Input
Output
gitlab_list_invitations
Input
Output
gitlab_update_invitation
Input
Output
gitlab_revoke_invitation
Input
Output
gitlab_list_access_requests
Input
Output
gitlab_approve_access_request
Input
Output
gitlab_deny_access_request
Input
Output
gitlab_list_saml_group_links
Input
Output
gitlab_search_users
Input
Output
gitlab_create_user
Input
Output
gitlab_update_user
Input
Output
gitlab_delete_user
Input
Output
gitlab_block_user
Input
Output
gitlab_unblock_user
Input
Output
gitlab_deactivate_user
Input
Output
gitlab_activate_user
Input
Output
gitlab_ban_user
Input
Output
gitlab_unban_user
Input
Output
gitlab_approve_user
Input
Output
gitlab_reject_user
Input
Output
gitlab_delete_user_identity
Input
Output
gitlab_add_saml_group_link
Input
Output
gitlab_delete_saml_group_link
Input
Output
Triggers
GitLab Comment
Configuration
Output
GitLab Event
Configuration
Output
GitLab Issue
Configuration
Output
GitLab Merge Request
Configuration
Output
GitLab Pipeline
Configuration
Output
GitLab Push
Configuration
Output