GitLab é uma plataforma DevOps completa que permite às equipes gerenciar, colaborar e automatizar o ciclo de vida do desenvolvimento de software. Com o GitLab, você pode lidar com gerenciamento de código-fonte, CI/CD, revisões e colaboração em um único aplicativo.
Com o GitLab no Zoen, você pode:
- Gerenciar projetos e repositórios: Listar e recuperar seus projetos GitLab, acessar detalhes e organizar seus repositórios
- Trabalhar com issues: Listar, criar e comentar em issues para acompanhar o trabalho e colaborar com eficiência
- Lidar com merge requests: Revisar, criar e gerenciar merge requests para mudanças de código e revisões por pares
- Automatizar pipelines de CI/CD: Disparar, monitorar e interagir com pipelines do GitLab como parte dos seus fluxos de automação
- Colaborar com comentários: Adicionar comentários a issues ou merge requests para comunicação eficiente na equipe
Usando a integração GitLab do Zoen, seus agentes podem interagir de forma programática com seus projetos GitLab. Automatize gerenciamento de projetos, rastreamento de issues, revisões de código e operações de pipeline de forma fluida nos seus fluxos de trabalho, otimizando o processo de desenvolvimento de software e aprimorando a colaboração na equipe.
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.
List GitLab projects accessible to the authenticated user
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
owned | boolean | No | Limit to projects owned by the current user |
membership | boolean | No | Limit to projects the current user is a member of |
search | string | No | Search projects by name |
visibility | string | No | Filter by visibility (public, internal, private) |
orderBy | string | No | Order by field (id, name, path, created_at, updated_at, last_activity_at) |
sort | string | No | Sort direction (asc, desc) |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
projects | array | List of GitLab projects |
total | number | Total number of projects |
Get details of a specific GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) (e.g., "namespace/project") |
| Parameter | Type | Description |
|---|
project | object | The GitLab project details |
List issues in a GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
state | string | No | Filter by state (opened, closed, all) |
labels | string | No | Comma-separated list of label names |
assigneeId | number | No | Filter by assignee user ID |
milestoneTitle | string | No | Filter by milestone title |
search | string | No | Search issues by title and description |
orderBy | string | No | Order by field (created_at, updated_at, priority, due_date, relative_position, label_priority, milestone_due, popularity, weight) |
sort | string | No | Sort direction (asc, desc) |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
issues | array | List of GitLab issues |
total | number | Total number of issues |
Get details of a specific GitLab issue
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
issueIid | number | Yes | Issue number within the project (the # shown in GitLab UI) |
| Parameter | Type | Description |
|---|
issue | object | The GitLab issue details |
Create a new issue in a GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
title | string | Yes | Issue title |
description | string | No | Issue description (Markdown supported) |
labels | string | No | Comma-separated list of label names |
assigneeIds | array | No | Array of user IDs to assign |
milestoneId | number | No | Milestone ID to assign |
dueDate | string | No | Due date in YYYY-MM-DD format |
confidential | boolean | No | Whether the issue is confidential |
| Parameter | Type | Description |
|---|
issue | object | The created GitLab issue |
Update an existing issue in a GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
issueIid | number | Yes | Issue internal ID (IID) |
title | string | No | New issue title |
description | string | No | New issue description (Markdown supported) |
stateEvent | string | No | State event (close or reopen) |
labels | string | No | Comma-separated list of label names |
assigneeIds | array | No | Array of user IDs to assign |
milestoneId | number | No | Milestone ID to assign |
dueDate | string | No | Due date in YYYY-MM-DD format |
confidential | boolean | No | Whether the issue is confidential |
| Parameter | Type | Description |
|---|
issue | object | The updated GitLab issue |
Delete an issue from a GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
issueIid | number | Yes | Issue internal ID (IID) |
| Parameter | Type | Description |
|---|
success | boolean | Whether the issue was deleted successfully |
Add a comment to a GitLab issue
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
issueIid | number | Yes | Issue internal ID (IID) |
body | string | Yes | Comment body (Markdown supported) |
internal | boolean | No | Create the comment as an internal note visible only to project members |
| Parameter | Type | Description |
|---|
note | object | The created comment |
List merge requests in a GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
state | string | No | Filter by state (opened, closed, locked, merged, all) |
labels | string | No | Comma-separated list of label names |
sourceBranch | string | No | Filter by source branch |
targetBranch | string | No | Filter by target branch |
orderBy | string | No | Order by field (created_at, updated_at, merged_at, priority, label_priority, milestone_due, popularity, title) |
sort | string | No | Sort direction (asc, desc) |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
mergeRequests | array | List of GitLab merge requests |
total | number | Total number of merge requests |
Get details of a specific GitLab merge request
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
mergeRequestIid | number | Yes | Merge request internal ID (IID) |
| Parameter | Type | Description |
|---|
mergeRequest | object | The GitLab merge request details |
Create a new merge request in a GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
sourceBranch | string | Yes | Source branch name |
targetBranch | string | Yes | Target branch name |
title | string | Yes | Merge request title |
description | string | No | Merge request description (Markdown supported) |
labels | string | No | Comma-separated list of label names |
assigneeIds | array | No | Array of user IDs to assign |
milestoneId | number | No | Milestone ID to assign |
removeSourceBranch | boolean | No | Delete source branch after merge |
squash | boolean | No | Squash commits on merge |
draft | boolean | No | Mark as draft (applied via the "Draft:" title prefix) |
| Parameter | Type | Description |
|---|
mergeRequest | object | The created GitLab merge request |
Update an existing merge request in a GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
mergeRequestIid | number | Yes | Merge request internal ID (IID) |
title | string | No | New merge request title |
description | string | No | New merge request description |
stateEvent | string | No | State event (close or reopen) |
labels | string | No | Comma-separated list of label names |
assigneeIds | array | No | Array of user IDs to assign |
milestoneId | number | No | Milestone ID to assign |
targetBranch | string | No | New target branch |
removeSourceBranch | boolean | No | Delete source branch after merge |
squash | boolean | No | Squash commits on merge |
draft | boolean | No | Mark as draft or remove draft status (applied via the "Draft:" title prefix; requires title to be set) |
| Parameter | Type | Description |
|---|
mergeRequest | object | The updated GitLab merge request |
Merge a merge request in a GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
mergeRequestIid | number | Yes | Merge request internal ID (IID) |
mergeCommitMessage | string | No | Custom merge commit message |
squashCommitMessage | string | No | Custom squash commit message |
squash | boolean | No | Squash commits before merging |
shouldRemoveSourceBranch | boolean | No | Delete source branch after merge |
mergeWhenPipelineSucceeds | boolean | No | Merge when pipeline succeeds |
| Parameter | Type | Description |
|---|
mergeRequest | object | The merged GitLab merge request |
Add a comment to a GitLab merge request
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
mergeRequestIid | number | Yes | Merge request internal ID (IID) |
body | string | Yes | Comment body (Markdown supported) |
internal | boolean | No | Create the comment as an internal note visible only to project members |
| Parameter | Type | Description |
|---|
note | object | The created comment |
List pipelines in a GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
ref | string | No | Filter by ref (branch or tag) |
status | string | No | Filter by status (created, waiting_for_resource, preparing, pending, running, success, failed, canceling, canceled, skipped, manual, scheduled, waiting_for_callback) |
orderBy | string | No | Order by field (id, status, ref, updated_at, user_id) |
sort | string | No | Sort direction (asc, desc) |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
pipelines | array | List of GitLab pipelines |
total | number | Total number of pipelines |
Get details of a specific GitLab pipeline
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
pipelineId | number | Yes | Pipeline ID |
| Parameter | Type | Description |
|---|
pipeline | object | The GitLab pipeline details |
Trigger a new pipeline in a GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
ref | string | Yes | Branch or tag to run the pipeline on |
variables | array | No | Array of variables for the pipeline (each with key, value, and optional variable_type) |
inputs | json | No | Pipeline inputs as a key/value object (for pipelines with spec:inputs) |
| Parameter | Type | Description |
|---|
pipeline | object | The created GitLab pipeline |
Retry a failed GitLab pipeline
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
pipelineId | number | Yes | Pipeline ID |
| Parameter | Type | Description |
|---|
pipeline | object | The retried GitLab pipeline |
Cancel a running GitLab pipeline
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
pipelineId | number | Yes | Pipeline ID |
| Parameter | Type | Description |
|---|
pipeline | object | The cancelled GitLab pipeline |
List files and directories in a GitLab project repository
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
path | string | No | Path inside the repository to list |
ref | string | No | Branch, tag, or commit SHA to list from |
recursive | boolean | No | Whether to list files recursively |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
tree | array | List of repository tree entries |
total | number | Total number of tree entries |
Get the contents of a file from a GitLab project repository
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
filePath | string | Yes | Path to the file in the repository |
ref | string | Yes | Branch, tag, or commit SHA |
| Parameter | Type | Description |
|---|
filePath | string | The file path |
fileName | string | The file name |
size | number | The file size in bytes |
ref | string | The branch, tag, or commit SHA |
blobId | string | The blob ID |
lastCommitId | string | The last commit ID that modified the file |
content | string | The decoded file content, truncated to 1M characters |
truncated | boolean | Whether the content was truncated |
Create a new file in a GitLab project repository
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
filePath | string | Yes | Path to the file in the repository |
branch | string | Yes | Branch to commit the new file to |
content | string | Yes | File content |
startBranch | string | No | Name of the base branch to create the target branch from, if it does not exist |
authorName | string | No | Commit author name (defaults to the token user) |
authorEmail | string | No | Commit author email (defaults to the token user) |
executeFilemode | boolean | No | Enable the execute flag on the file |
commitMessage | string | Yes | Commit message |
| Parameter | Type | Description |
|---|
filePath | string | The created file path |
branch | string | The branch the file was committed to |
Update an existing file in a GitLab project repository
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
filePath | string | Yes | Path to the file in the repository |
branch | string | Yes | Branch to commit the update to |
content | string | Yes | New file content |
startBranch | string | No | Name of the base branch to create the target branch from, if it does not exist |
authorName | string | No | Commit author name (defaults to the token user) |
authorEmail | string | No | Commit author email (defaults to the token user) |
executeFilemode | boolean | No | Enable or disable the execute flag on the file |
commitMessage | string | Yes | Commit message |
lastCommitId | string | No | Last known commit ID for the file (optimistic locking) |
| Parameter | Type | Description |
|---|
filePath | string | The updated file path |
branch | string | The branch the update was committed to |
Create a new branch in a GitLab project repository
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
branch | string | Yes | Name of the new branch |
ref | string | Yes | Source branch/tag/SHA |
| Parameter | Type | Description |
|---|
name | string | The created branch name |
webUrl | string | The web URL of the branch |
protected | boolean | Whether the branch is protected |
commit | object | The commit the branch points to |
Delete a branch from a GitLab project repository
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
branch | string | Yes | Name of the branch to delete |
| Parameter | Type | Description |
|---|
success | boolean | Whether the branch was deleted successfully |
Compare two branches, tags, or commits in a GitLab project repository
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
from | string | Yes | Commit SHA or branch/tag name to compare from |
to | string | Yes | Commit SHA or branch/tag name to compare to |
straight | boolean | No | Compare directly from..to instead of using the merge base (defaults to false) |
fromProjectId | string | No | ID of the project to compare from (for cross-fork comparisons) |
unidiff | boolean | No | Return diffs in unified diff format (GitLab 16.5+) |
| Parameter | Type | Description |
|---|
commit | object | The latest commit in the comparison |
commits | array | Commits between the two references |
diffs | array | File diffs between the two references |
compareTimeout | boolean | Whether the comparison exceeded size limits or timed out |
compareSameRef | boolean | Whether both references point to the same commit |
webUrl | string | The web URL for viewing the comparison |
List branches in a GitLab project repository
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
search | string | No | Filter branches by name |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
branches | array | List of branches |
total | number | Total number of branches |
List commits in a GitLab project repository
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
refName | string | No | Branch, tag, or revision range to list commits from |
since | string | No | Only commits after this ISO 8601 date |
until | string | No | Only commits before this ISO 8601 date |
path | string | No | Only commits affecting this file path |
author | string | No | Filter commits by author |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
commits | array | List of commits |
total | number | Number of commits returned on this page (GitLab does not report a grand total for commits) |
Get the file changes (diffs) of a GitLab merge request
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
mergeRequestIid | number | Yes | Merge request internal ID (IID) |
| Parameter | Type | Description |
|---|
mergeRequestIid | number | The merge request internal ID (IID) |
changes | array | List of file changes (diffs) |
changesCount | number | Number of changed files returned (first 100) |
hasMore | boolean | Whether the merge request has more than 100 changed files (results truncated) |
Approve a GitLab merge request
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
mergeRequestIid | number | Yes | Merge request internal ID (IID) |
sha | string | No | HEAD SHA of the merge request to approve |
| Parameter | Type | Description |
|---|
approvalsRequired | number | Number of approvals required |
approvalsLeft | number | Number of approvals still needed |
approvedBy | array | List of approvers |
List jobs for a GitLab pipeline
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
pipelineId | number | Yes | Pipeline ID |
scope | string | No | Filter jobs by scope (e.g. created, running, success, failed) |
includeRetried | boolean | No | Whether to include retried jobs |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
jobs | array | List of pipeline jobs |
total | number | Total number of jobs |
Get the log (trace) of a GitLab job
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
jobId | number | Yes | Job ID |
| Parameter | Type | Description |
|---|
log | string | The job log (trace) output, truncated to 200k characters |
truncated | boolean | Whether the log was truncated |
Trigger (play) a manual GitLab job
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
jobId | number | Yes | Job ID |
jobVariables | array | No | Variables for the manual job (array of objects with key and value) |
| Parameter | Type | Description |
|---|
id | number | The job ID |
name | string | The job name |
status | string | The job status |
webUrl | string | The web URL of the job |
List releases in a GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
orderBy | string | No | Order by field (released_at, created_at) |
sort | string | No | Sort direction (asc, desc) |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
releases | array | List of GitLab releases |
total | number | Total number of releases |
Create a new release in a GitLab project
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
projectId | string | Yes | Project ID or path (e.g. mygroup/myproject) |
tagName | string | Yes | The Git tag for the release |
name | string | No | The release name |
description | string | No | Release description/notes (Markdown supported) |
ref | string | No | Commit SHA, branch, or tag to create the tag from if it does not already exist |
releasedAt | string | No | ISO 8601 date for an upcoming or historical release |
tagMessage | string | No | Annotation message to use if creating a new annotated tag |
assetLinks | array | No | Release asset links: array of objects with name, url, and optional link_type (other, runbook, image, package) |
milestones | array | No | Array of milestone titles to associate with the release |
| Parameter | Type | Description |
|---|
release | object | The created GitLab release |
List members of a GitLab project or group. Includes members inherited from ancestor groups by default.
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
resourceType | string | Yes | Whether the resource is a 'project' or a 'group' |
resourceId | string | Yes | Project or group ID or path (e.g. mygroup/myproject) |
directOnly | boolean | No | When true, returns only direct members. Defaults to false, which also returns members inherited from ancestor groups. |
query | string | No | Filter members by name, email, or username |
userIds | string | No | Comma-separated user IDs to filter the results to |
state | string | No | Filter inherited-member results by state: 'awaiting' or 'active' (Premium/Ultimate; only applies when inherited members are included) |
showSeatInfo | boolean | No | Include seat information for each member |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
members | array | List of project or group members |
total | number | Total number of members |
Add an existing GitLab user to a project or group at a given access level
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
resourceType | string | Yes | Whether the resource is a 'project' or a 'group' |
resourceId | string | Yes | Project or group ID or path (e.g. mygroup/myproject) |
userId | number | No | The ID of the user to add. Provide either userId or username. |
username | string | No | The username of the user to add. Provide either userId or username. |
accessLevel | number | Yes | Access level: 0 (No access), 5 (Minimal), 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner) |
expiresAt | string | No | Access expiration date in YYYY-MM-DD format |
memberRoleId | number | No | Custom member role ID (GitLab Ultimate only) |
| Parameter | Type | Description |
|---|
member | object | The added member |
alreadyMember | boolean | Whether the user was already a member (add was a no-op) |
Update a member's access level in a GitLab project or group
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
resourceType | string | Yes | Whether the resource is a 'project' or a 'group' |
resourceId | string | Yes | Project or group ID or path (e.g. mygroup/myproject) |
userId | number | Yes | The ID of the member to update |
accessLevel | number | Yes | New access level: 0 (No access), 5 (Minimal), 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner) |
expiresAt | string | No | Access expiration date in YYYY-MM-DD format. Pass an empty string to clear an existing expiration. |
memberRoleId | number | No | Custom member role ID (GitLab Ultimate only). Warning: when omitted, GitLab removes any custom role the member currently holds. |
| Parameter | Type | Description |
|---|
member | object | The updated member |
Remove a member from a GitLab project or group
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
resourceType | string | Yes | Whether the resource is a 'project' or a 'group' |
resourceId | string | Yes | Project or group ID or path (e.g. mygroup/myproject) |
userId | number | Yes | The ID of the member to remove |
skipSubresources | boolean | No | Skip deleting the member from subgroups and projects below the target (defaults to false) |
unassignIssuables | boolean | No | Unassign the member from all issues and merge requests in the target (defaults to false) |
| Parameter | Type | Description |
|---|
success | boolean | Whether the member was removed successfully |
Invite a person to a GitLab project or group by email address
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
resourceType | string | Yes | Whether the resource is a 'project' or a 'group' |
resourceId | string | Yes | Project or group ID or path (e.g. mygroup/myproject) |
email | string | Yes | Email address to invite (comma-separated for multiple) |
accessLevel | number | Yes | Access level: 0 (No access), 5 (Minimal), 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner) |
expiresAt | string | No | Access expiration date in YYYY-MM-DD format |
memberRoleId | number | No | Custom member role ID (GitLab Ultimate only) |
inviteSource | string | No | Identifier recorded as the source of the invitation (for attribution) |
| Parameter | Type | Description |
|---|
status | string | Invitation status returned by GitLab |
message | object | Per-email result detail, if any |
List pending email invitations for a GitLab project or group
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
resourceType | string | Yes | Whether the resource is a 'project' or a 'group' |
resourceId | string | Yes | Project or group ID or path (e.g. mygroup/myproject) |
query | string | No | Filter invitations by invited email |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
invitations | array | List of pending invitations |
total | number | Total number of invitations |
Update a pending invitation to a GitLab project or group
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
resourceType | string | Yes | Whether the resource is a 'project' or a 'group' |
resourceId | string | Yes | Project or group ID or path (e.g. mygroup/myproject) |
email | string | Yes | Email address of the invitation to update |
accessLevel | number | No | New access level: 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner) |
expiresAt | string | No | Access 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. |
| Parameter | Type | Description |
|---|
invitation | object | The updated invitation |
Revoke a pending email invitation to a GitLab project or group
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
resourceType | string | Yes | Whether the resource is a 'project' or a 'group' |
resourceId | string | Yes | Project or group ID or path (e.g. mygroup/myproject) |
email | string | Yes | Email address of the invitation to revoke |
| Parameter | Type | Description |
|---|
success | boolean | Whether the invitation was revoked successfully |
List pending access requests for a GitLab project or group
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
resourceType | string | Yes | Whether the resource is a 'project' or a 'group' |
resourceId | string | Yes | Project or group ID or path (e.g. mygroup/myproject) |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
accessRequests | array | List of pending access requests |
total | number | Total number of access requests |
Approve a pending access request for a GitLab project or group
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
resourceType | string | Yes | Whether the resource is a 'project' or a 'group' |
resourceId | string | Yes | Project or group ID or path (e.g. mygroup/myproject) |
userId | number | Yes | The user ID of the access requester |
accessLevel | number | No | Access level to grant: 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner). Defaults to 30 (Developer). |
| Parameter | Type | Description |
|---|
accessRequest | object | The approved access request |
Deny (delete) a pending access request for a GitLab project or group
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
resourceType | string | Yes | Whether the resource is a 'project' or a 'group' |
resourceId | string | Yes | Project or group ID or path (e.g. mygroup/myproject) |
userId | number | Yes | The user ID of the access requester |
| Parameter | Type | Description |
|---|
success | boolean | Whether 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.
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
groupId | string | Yes | Group ID or path (e.g. my-org/my-group) |
| Parameter | Type | Description |
|---|
samlGroupLinks | array | List of SAML group links |
total | number | Number of SAML group links |
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.
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
search | string | Yes | Name, username, or email to search for |
perPage | number | No | Number of results per page (default 20, max 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
users | array | List of matching users |
total | number | Total number of matching users |
Create a new GitLab user. Requires an administrator token with admin_mode on the instance.
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
email | string | Yes | The user's email address |
username | string | Yes | The user's username |
name | string | Yes | The user's display name |
password | string | No | The user's password. Omit and set resetPassword to email a reset link instead. |
resetPassword | boolean | No | Send the user a password reset link instead of setting a password |
forceRandomPassword | boolean | No | Set a random password without emailing a reset link (useful for SSO-only accounts). One of password, resetPassword, or forceRandomPassword is required. |
admin | boolean | No | Whether the new user is an administrator |
skipConfirmation | boolean | No | Skip email confirmation for the new user |
| Parameter | Type | Description |
|---|
user | object | The created user |
Modify an existing GitLab user. Requires an administrator token with admin_mode on the instance.
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
userId | number | Yes | The ID of the user to modify |
email | string | No | The user's new email address (GitLab only allows changing to one of the user's existing verified secondary emails) |
username | string | No | The user's new username |
name | string | No | The user's new display name |
admin | boolean | No | Whether the user is an administrator |
| Parameter | Type | Description |
|---|
user | object | The updated user |
Delete a GitLab user. Requires an administrator token with admin_mode on the instance.
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
userId | number | Yes | The ID of the user to delete |
hardDelete | boolean | No | When true, contributions, personal projects, AND groups owned solely by this user are deleted rather than moved to a Ghost User |
| Parameter | Type | Description |
|---|
success | boolean | Whether the user was deleted successfully |
| Parameter | Type | Required | Description |
|---|
| Parameter | Type | Description |
|---|
projects | json | List of projects |
project | json | Project details |
issues | json | List of issues |
issue | json | Issue details |
mergeRequests | json | List of merge requests |
mergeRequest | json | Merge request details |
mergeRequestIid | number | Merge request internal ID (IID) |
pipelines | json | List of pipelines |
pipeline | json | Pipeline details |
note | json | Comment/note details |
tree | json | Repository tree entries |
content | string | File contents (decoded) |
fileName | string | File name |
filePath | string | Path to the file in the repository |
branch | string | Branch the file was committed to |
branches | json | List of branches |
commits | json | List of commits |
commit | json | A single commit (e.g. latest commit in a comparison) |
name | string | Created branch name |
protected | boolean | Whether the branch is protected |
size | number | File size in bytes |
ref | string | The branch, tag, or commit SHA |
blobId | string | The blob ID |
lastCommitId | string | The last commit ID that modified the file |
webUrl | string | Web URL |
changes | json | Merge request file changes/diffs |
changesCount | number | Number of changed files returned (first 100) |
hasMore | boolean | Whether more changed files exist beyond the first 100 |
approvalsRequired | number | Approvals required |
approvalsLeft | number | Approvals remaining |
approvedBy | json | List of approvers |
jobs | json | Pipeline jobs |
log | string | Job log output |
id | number | Job ID |
status | string | Job status |
diffs | json | File diffs between two compared references |
compareTimeout | boolean | Whether the comparison timed out |
compareSameRef | boolean | Whether both compared references match |
releases | json | List of releases |
release | json | Release details |
members | json | List of project or group members |
member | json | A single member |
alreadyMember | boolean | Whether the user was already a member |
invitations | json | List of pending invitations |
invitation | json | A single invitation |
accessRequests | json | List of pending access requests |
accessRequest | json | A single access request |
samlGroupLinks | json | List of SAML group links |
samlGroupLink | json | A single SAML group link |
message | json | Per-email invitation result detail |
users | json | List of matching users |
user | json | User details |
total | number | Total number of items available across all pages |
truncated | boolean | Whether returned content (file content or job log) was truncated |
success | boolean | Operation success status |
| Parameter | Type | Required | Description |
|---|
| Parameter | Type | Description |
|---|
projects | json | List of projects |
project | json | Project details |
issues | json | List of issues |
issue | json | Issue details |
mergeRequests | json | List of merge requests |
mergeRequest | json | Merge request details |
mergeRequestIid | number | Merge request internal ID (IID) |
pipelines | json | List of pipelines |
pipeline | json | Pipeline details |
note | json | Comment/note details |
tree | json | Repository tree entries |
content | string | File contents (decoded) |
fileName | string | File name |
filePath | string | Path to the file in the repository |
branch | string | Branch the file was committed to |
branches | json | List of branches |
commits | json | List of commits |
commit | json | A single commit (e.g. latest commit in a comparison) |
name | string | Created branch name |
protected | boolean | Whether the branch is protected |
size | number | File size in bytes |
ref | string | The branch, tag, or commit SHA |
blobId | string | The blob ID |
lastCommitId | string | The last commit ID that modified the file |
webUrl | string | Web URL |
changes | json | Merge request file changes/diffs |
changesCount | number | Number of changed files returned (first 100) |
hasMore | boolean | Whether more changed files exist beyond the first 100 |
approvalsRequired | number | Approvals required |
approvalsLeft | number | Approvals remaining |
approvedBy | json | List of approvers |
jobs | json | Pipeline jobs |
log | string | Job log output |
id | number | Job ID |
status | string | Job status |
diffs | json | File diffs between two compared references |
compareTimeout | boolean | Whether the comparison timed out |
compareSameRef | boolean | Whether both compared references match |
releases | json | List of releases |
release | json | Release details |
members | json | List of project or group members |
member | json | A single member |
alreadyMember | boolean | Whether the user was already a member |
invitations | json | List of pending invitations |
invitation | json | A single invitation |
accessRequests | json | List of pending access requests |
accessRequest | json | A single access request |
samlGroupLinks | json | List of SAML group links |
samlGroupLink | json | A single SAML group link |
message | json | Per-email invitation result detail |
users | json | List of matching users |
user | json | User details |
total | number | Total number of items available across all pages |
truncated | boolean | Whether returned content (file content or job log) was truncated |
success | boolean | Operation success status |
| Parameter | Type | Required | Description |
|---|
| Parameter | Type | Description |
|---|
projects | json | List of projects |
project | json | Project details |
issues | json | List of issues |
issue | json | Issue details |
mergeRequests | json | List of merge requests |
mergeRequest | json | Merge request details |
mergeRequestIid | number | Merge request internal ID (IID) |
pipelines | json | List of pipelines |
pipeline | json | Pipeline details |
note | json | Comment/note details |
tree | json | Repository tree entries |
content | string | File contents (decoded) |
fileName | string | File name |
filePath | string | Path to the file in the repository |
branch | string | Branch the file was committed to |
branches | json | List of branches |
commits | json | List of commits |
commit | json | A single commit (e.g. latest commit in a comparison) |
name | string | Created branch name |
protected | boolean | Whether the branch is protected |
size | number | File size in bytes |
ref | string | The branch, tag, or commit SHA |
blobId | string | The blob ID |
lastCommitId | string | The last commit ID that modified the file |
webUrl | string | Web URL |
changes | json | Merge request file changes/diffs |
changesCount | number | Number of changed files returned (first 100) |
hasMore | boolean | Whether more changed files exist beyond the first 100 |
approvalsRequired | number | Approvals required |
approvalsLeft | number | Approvals remaining |
approvedBy | json | List of approvers |
jobs | json | Pipeline jobs |
log | string | Job log output |
id | number | Job ID |
status | string | Job status |
diffs | json | File diffs between two compared references |
compareTimeout | boolean | Whether the comparison timed out |
compareSameRef | boolean | Whether both compared references match |
releases | json | List of releases |
release | json | Release details |
members | json | List of project or group members |
member | json | A single member |
alreadyMember | boolean | Whether the user was already a member |
invitations | json | List of pending invitations |
invitation | json | A single invitation |
accessRequests | json | List of pending access requests |
accessRequest | json | A single access request |
samlGroupLinks | json | List of SAML group links |
samlGroupLink | json | A single SAML group link |
message | json | Per-email invitation result detail |
users | json | List of matching users |
user | json | User details |
total | number | Total number of items available across all pages |
truncated | boolean | Whether returned content (file content or job log) was truncated |
success | boolean | Operation success status |
| Parameter | Type | Required | Description |
|---|
| Parameter | Type | Description |
|---|
projects | json | List of projects |
project | json | Project details |
issues | json | List of issues |
issue | json | Issue details |
mergeRequests | json | List of merge requests |
mergeRequest | json | Merge request details |
mergeRequestIid | number | Merge request internal ID (IID) |
pipelines | json | List of pipelines |
pipeline | json | Pipeline details |
note | json | Comment/note details |
tree | json | Repository tree entries |
content | string | File contents (decoded) |
fileName | string | File name |
filePath | string | Path to the file in the repository |
branch | string | Branch the file was committed to |
branches | json | List of branches |
commits | json | List of commits |
commit | json | A single commit (e.g. latest commit in a comparison) |
name | string | Created branch name |
protected | boolean | Whether the branch is protected |
size | number | File size in bytes |
ref | string | The branch, tag, or commit SHA |
blobId | string | The blob ID |
lastCommitId | string | The last commit ID that modified the file |
webUrl | string | Web URL |
changes | json | Merge request file changes/diffs |
changesCount | number | Number of changed files returned (first 100) |
hasMore | boolean | Whether more changed files exist beyond the first 100 |
approvalsRequired | number | Approvals required |
approvalsLeft | number | Approvals remaining |
approvedBy | json | List of approvers |
jobs | json | Pipeline jobs |
log | string | Job log output |
id | number | Job ID |
status | string | Job status |
diffs | json | File diffs between two compared references |
compareTimeout | boolean | Whether the comparison timed out |
compareSameRef | boolean | Whether both compared references match |
releases | json | List of releases |
release | json | Release details |
members | json | List of project or group members |
member | json | A single member |
alreadyMember | boolean | Whether the user was already a member |
invitations | json | List of pending invitations |
invitation | json | A single invitation |
accessRequests | json | List of pending access requests |
accessRequest | json | A single access request |
samlGroupLinks | json | List of SAML group links |
samlGroupLink | json | A single SAML group link |
message | json | Per-email invitation result detail |
users | json | List of matching users |
user | json | User details |
total | number | Total number of items available across all pages |
truncated | boolean | Whether returned content (file content or job log) was truncated |
success | boolean | Operation success status |
| Parameter | Type | Required | Description |
|---|
| Parameter | Type | Description |
|---|
projects | json | List of projects |
project | json | Project details |
issues | json | List of issues |
issue | json | Issue details |
mergeRequests | json | List of merge requests |
mergeRequest | json | Merge request details |
mergeRequestIid | number | Merge request internal ID (IID) |
pipelines | json | List of pipelines |
pipeline | json | Pipeline details |
note | json | Comment/note details |
tree | json | Repository tree entries |
content | string | File contents (decoded) |
fileName | string | File name |
filePath | string | Path to the file in the repository |
branch | string | Branch the file was committed to |
branches | json | List of branches |
commits | json | List of commits |
commit | json | A single commit (e.g. latest commit in a comparison) |
name | string | Created branch name |
protected | boolean | Whether the branch is protected |
size | number | File size in bytes |
ref | string | The branch, tag, or commit SHA |
blobId | string | The blob ID |
lastCommitId | string | The last commit ID that modified the file |
webUrl | string | Web URL |
changes | json | Merge request file changes/diffs |
changesCount | number | Number of changed files returned (first 100) |
hasMore | boolean | Whether more changed files exist beyond the first 100 |
approvalsRequired | number | Approvals required |
approvalsLeft | number | Approvals remaining |
approvedBy | json | List of approvers |
jobs | json | Pipeline jobs |
log | string | Job log output |
id | number | Job ID |
status | string | Job status |
diffs | json | File diffs between two compared references |
compareTimeout | boolean | Whether the comparison timed out |
compareSameRef | boolean | Whether both compared references match |
releases | json | List of releases |
release | json | Release details |
members | json | List of project or group members |
member | json | A single member |
alreadyMember | boolean | Whether the user was already a member |
invitations | json | List of pending invitations |
invitation | json | A single invitation |
accessRequests | json | List of pending access requests |
accessRequest | json | A single access request |
samlGroupLinks | json | List of SAML group links |
samlGroupLink | json | A single SAML group link |
message | json | Per-email invitation result detail |
users | json | List of matching users |
user | json | User details |
total | number | Total number of items available across all pages |
truncated | boolean | Whether returned content (file content or job log) was truncated |
success | boolean | Operation success status |
| Parameter | Type | Required | Description |
|---|
| Parameter | Type | Description |
|---|
projects | json | List of projects |
project | json | Project details |
issues | json | List of issues |
issue | json | Issue details |
mergeRequests | json | List of merge requests |
mergeRequest | json | Merge request details |
mergeRequestIid | number | Merge request internal ID (IID) |
pipelines | json | List of pipelines |
pipeline | json | Pipeline details |
note | json | Comment/note details |
tree | json | Repository tree entries |
content | string | File contents (decoded) |
fileName | string | File name |
filePath | string | Path to the file in the repository |
branch | string | Branch the file was committed to |
branches | json | List of branches |
commits | json | List of commits |
commit | json | A single commit (e.g. latest commit in a comparison) |
name | string | Created branch name |
protected | boolean | Whether the branch is protected |
size | number | File size in bytes |
ref | string | The branch, tag, or commit SHA |
blobId | string | The blob ID |
lastCommitId | string | The last commit ID that modified the file |
webUrl | string | Web URL |
changes | json | Merge request file changes/diffs |
changesCount | number | Number of changed files returned (first 100) |
hasMore | boolean | Whether more changed files exist beyond the first 100 |
approvalsRequired | number | Approvals required |
approvalsLeft | number | Approvals remaining |
approvedBy | json | List of approvers |
jobs | json | Pipeline jobs |
log | string | Job log output |
id | number | Job ID |
status | string | Job status |
diffs | json | File diffs between two compared references |
compareTimeout | boolean | Whether the comparison timed out |
compareSameRef | boolean | Whether both compared references match |
releases | json | List of releases |
release | json | Release details |
members | json | List of project or group members |
member | json | A single member |
alreadyMember | boolean | Whether the user was already a member |
invitations | json | List of pending invitations |
invitation | json | A single invitation |
accessRequests | json | List of pending access requests |
accessRequest | json | A single access request |
samlGroupLinks | json | List of SAML group links |
samlGroupLink | json | A single SAML group link |
message | json | Per-email invitation result detail |
users | json | List of matching users |
user | json | User details |
total | number | Total number of items available across all pages |
truncated | boolean | Whether returned content (file content or job log) was truncated |
success | boolean | Operation success status |
| Parameter | Type | Required | Description |
|---|
| Parameter | Type | Description |
|---|
projects | json | List of projects |
project | json | Project details |
issues | json | List of issues |
issue | json | Issue details |
mergeRequests | json | List of merge requests |
mergeRequest | json | Merge request details |
mergeRequestIid | number | Merge request internal ID (IID) |
pipelines | json | List of pipelines |
pipeline | json | Pipeline details |
note | json | Comment/note details |
tree | json | Repository tree entries |
content | string | File contents (decoded) |
fileName | string | File name |
filePath | string | Path to the file in the repository |
branch | string | Branch the file was committed to |
branches | json | List of branches |
commits | json | List of commits |
commit | json | A single commit (e.g. latest commit in a comparison) |
name | string | Created branch name |
protected | boolean | Whether the branch is protected |
size | number | File size in bytes |
ref | string | The branch, tag, or commit SHA |
blobId | string | The blob ID |
lastCommitId | string | The last commit ID that modified the file |
webUrl | string | Web URL |
changes | json | Merge request file changes/diffs |
changesCount | number | Number of changed files returned (first 100) |
hasMore | boolean | Whether more changed files exist beyond the first 100 |
approvalsRequired | number | Approvals required |
approvalsLeft | number | Approvals remaining |
approvedBy | json | List of approvers |
jobs | json | Pipeline jobs |
log | string | Job log output |
id | number | Job ID |
status | string | Job status |
diffs | json | File diffs between two compared references |
compareTimeout | boolean | Whether the comparison timed out |
compareSameRef | boolean | Whether both compared references match |
releases | json | List of releases |
release | json | Release details |
members | json | List of project or group members |
member | json | A single member |
alreadyMember | boolean | Whether the user was already a member |
invitations | json | List of pending invitations |
invitation | json | A single invitation |
accessRequests | json | List of pending access requests |
accessRequest | json | A single access request |
samlGroupLinks | json | List of SAML group links |
samlGroupLink | json | A single SAML group link |
message | json | Per-email invitation result detail |
users | json | List of matching users |
user | json | User details |
total | number | Total number of items available across all pages |
truncated | boolean | Whether returned content (file content or job log) was truncated |
success | boolean | Operation success status |
| Parameter | Type | Required | Description |
|---|
| Parameter | Type | Description |
|---|
projects | json | List of projects |
project | json | Project details |
issues | json | List of issues |
issue | json | Issue details |
mergeRequests | json | List of merge requests |
mergeRequest | json | Merge request details |
mergeRequestIid | number | Merge request internal ID (IID) |
pipelines | json | List of pipelines |
pipeline | json | Pipeline details |
note | json | Comment/note details |
tree | json | Repository tree entries |
content | string | File contents (decoded) |
fileName | string | File name |
filePath | string | Path to the file in the repository |
branch | string | Branch the file was committed to |
branches | json | List of branches |
commits | json | List of commits |
commit | json | A single commit (e.g. latest commit in a comparison) |
name | string | Created branch name |
protected | boolean | Whether the branch is protected |
size | number | File size in bytes |
ref | string | The branch, tag, or commit SHA |
blobId | string | The blob ID |
lastCommitId | string | The last commit ID that modified the file |
webUrl | string | Web URL |
changes | json | Merge request file changes/diffs |
changesCount | number | Number of changed files returned (first 100) |
hasMore | boolean | Whether more changed files exist beyond the first 100 |
approvalsRequired | number | Approvals required |
approvalsLeft | number | Approvals remaining |
approvedBy | json | List of approvers |
jobs | json | Pipeline jobs |
log | string | Job log output |
id | number | Job ID |
status | string | Job status |
diffs | json | File diffs between two compared references |
compareTimeout | boolean | Whether the comparison timed out |
compareSameRef | boolean | Whether both compared references match |
releases | json | List of releases |
release | json | Release details |
members | json | List of project or group members |
member | json | A single member |
alreadyMember | boolean | Whether the user was already a member |
invitations | json | List of pending invitations |
invitation | json | A single invitation |
accessRequests | json | List of pending access requests |
accessRequest | json | A single access request |
samlGroupLinks | json | List of SAML group links |
samlGroupLink | json | A single SAML group link |
message | json | Per-email invitation result detail |
users | json | List of matching users |
user | json | User details |
total | number | Total number of items available across all pages |
truncated | boolean | Whether returned content (file content or job log) was truncated |
success | boolean | Operation success status |
Delete a user's authentication identity (e.g. SAML or LDAP). Requires an administrator token with admin_mode on the instance.
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
userId | number | Yes | The ID of the user |
provider | string | Yes | The external identity provider name (e.g. saml, ldapmain) |
| Parameter | Type | Description |
|---|
success | boolean | Whether 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)
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
groupId | string | Yes | Group ID or path (e.g. my-org/my-group) |
samlGroupName | string | Yes | The name of the SAML group as sent by the identity provider |
accessLevel | number | Yes | Access level granted to members of the SAML group: 10 (Guest), 15 (Planner), 20 (Reporter), 25 (Security Manager), 30 (Developer), 40 (Maintainer), 50 (Owner) |
memberRoleId | number | No | Custom member role ID (GitLab Ultimate only) |
provider | string | No | Unique provider name that must match for this group link to be applied (GitLab 18.2+) |
| Parameter | Type | Description |
|---|
samlGroupLink | object | The created SAML group link |
Delete a SAML group link from a GitLab group (GitLab Premium/Ultimate)
| Parameter | Type | Required | Description |
|---|
host | string | No | Self-managed GitLab host (e.g. gitlab.example.com). Defaults to gitlab.com. |
groupId | string | Yes | Group ID or path (e.g. my-org/my-group) |
samlGroupName | string | Yes | The name of the SAML group link to delete |
provider | string | No | Provider name of the link to delete. Required when multiple links share the same SAML group name. |
| Parameter | Type | Description |
|---|
success | boolean | Whether the SAML group link was deleted successfully |
A Trigger is a block that starts a workflow when an event happens in this service.
Trigger workflow when a comment is added on a commit, merge request, or issue
| Parameter | Type | Required | Description |
|---|
accessToken | string | Yes | Used to create the webhook in your project. Requires the Maintainer or Owner role. |
projectId | string | Yes | The GitLab project to register the webhook on. |
host | string | No | Self-managed GitLab host. Leave blank for gitlab.com. |
| Parameter | Type | Description |
|---|
object_kind | string | Event kind (note) |
event_type | string | GitLab event type from the X-Gitlab-Event header |
object_attributes | object | object_attributes output from the tool |
↳ id | number | Comment ID |
↳ note | string | Comment body |
↳ noteable_type | string | What the comment is on (Commit, MergeRequest, Issue, Snippet) |
↳ action | string | Action (create, update) |
↳ url | string | Comment URL |
Trigger workflow from any GitLab webhook event
| Parameter | Type | Required | Description |
|---|
accessToken | string | Yes | Used to create the webhook in your project. Requires the Maintainer or Owner role. |
projectId | string | Yes | The GitLab project to register the webhook on. |
host | string | No | Self-managed GitLab host. Leave blank for gitlab.com. |
| Parameter | Type | Description |
|---|
object_kind | string | Event kind (push, merge_request, issue, etc.) |
event_type | string | GitLab event type from the X-Gitlab-Event header |
user | json | Actor that triggered the event (when present) |
object_attributes | json | Event-specific attributes (varies by object_kind) |
Trigger workflow when an issue is opened, updated, or closed in GitLab
| Parameter | Type | Required | Description |
|---|
accessToken | string | Yes | Used to create the webhook in your project. Requires the Maintainer or Owner role. |
projectId | string | Yes | The GitLab project to register the webhook on. |
host | string | No | Self-managed GitLab host. Leave blank for gitlab.com. |
| Parameter | Type | Description |
|---|
object_kind | string | Event kind (issue) |
event_type | string | GitLab event type from the X-Gitlab-Event header |
object_attributes | object | object_attributes output from the tool |
↳ id | number | Global issue ID |
↳ iid | number | Project-scoped issue number |
↳ title | string | Issue title |
↳ state | string | State (opened, closed) |
↳ action | string | Action (open, close, reopen, update) |
↳ description | string | Issue description |
↳ confidential | boolean | Whether the issue is confidential |
↳ url | string | Issue URL |
↳ work_item_type | string | Work item type (e.g. Issue, Incident, Task); GitLab 17.2+ only |
Trigger workflow when a merge request is opened, updated, or merged in GitLab
| Parameter | Type | Required | Description |
|---|
accessToken | string | Yes | Used to create the webhook in your project. Requires the Maintainer or Owner role. |
projectId | string | Yes | The GitLab project to register the webhook on. |
host | string | No | Self-managed GitLab host. Leave blank for gitlab.com. |
| Parameter | Type | Description |
|---|
object_kind | string | Event kind (merge_request) |
event_type | string | GitLab event type from the X-Gitlab-Event header |
object_attributes | object | object_attributes output from the tool |
↳ id | number | Global merge request ID |
↳ iid | number | Project-scoped merge request number |
↳ title | string | Merge request title |
↳ state | string | State (opened, closed, merged, locked) |
↳ action | string | Action (open, close, reopen, update, merge, etc.) |
↳ source_branch | string | Source branch |
↳ target_branch | string | Target branch |
↳ merge_status | string | Merge status (deprecated by GitLab) |
↳ detailed_merge_status | string | Detailed merge status |
↳ draft | boolean | Whether the merge request is a draft |
↳ url | string | Merge request URL |
Trigger workflow when a pipeline status changes in GitLab
| Parameter | Type | Required | Description |
|---|
accessToken | string | Yes | Used to create the webhook in your project. Requires the Maintainer or Owner role. |
projectId | string | Yes | The GitLab project to register the webhook on. |
host | string | No | Self-managed GitLab host. Leave blank for gitlab.com. |
| Parameter | Type | Description |
|---|
object_kind | string | Event kind (pipeline) |
event_type | string | GitLab event type from the X-Gitlab-Event header |
object_attributes | object | object_attributes output from the tool |
↳ id | number | Pipeline ID |
↳ status | string | Pipeline status (success, failed, running, etc.) |
↳ detailed_status | string | Detailed pipeline status |
↳ ref | string | Ref the pipeline ran on |
↳ sha | string | Commit SHA |
↳ source | string | Pipeline source (push, web, schedule, etc.) |
↳ duration | number | Pipeline duration in seconds |
↳ url | string | Pipeline URL |
Trigger workflow when commits are pushed to a GitLab project
| Parameter | Type | Required | Description |
|---|
accessToken | string | Yes | Used to create the webhook in your project. Requires the Maintainer or Owner role. |
projectId | string | Yes | The GitLab project to register the webhook on. |
host | string | No | Self-managed GitLab host. Leave blank for gitlab.com. |
| Parameter | Type | Description |
|---|
object_kind | string | Event kind (push) |
event_type | string | GitLab event type from the X-Gitlab-Event header |
ref | string | Git ref that was pushed (e.g. refs/heads/main) |
branch | string | Branch name derived from ref |
before | string | SHA before the push |
after | string | SHA after the push |
checkout_sha | string | SHA of the most recent commit |
user_username | string | Username of the pusher |
user_name | string | Display name of the pusher |
user_email | string | Email of the pusher |
total_commits_count | number | Number of commits in the push |
commits | json | Array of commit objects included in this push |