Add Group Member
Add one or more direct group members by user ID or username. Billable role promotions may be queued for administrator approval rather than granted immediately.
A web-based DevOps lifecycle tool that provides a Git repository manager providing wiki, issue-tracking, and CI/CD pipeline features.
Add one or more direct group members by user ID or username. Billable role promotions may be queued for administrator approval rather than granted immediately.
Add one or more direct project members by user ID or username. Role promotions may be queued for administrator approval instead of granting membership immediately.
Adds spent time to a GitLab issue for time tracking purposes. This action logs time against an issue, accumulating with any previously logged time. Use this action when you need to record time spent working on an issue, track billable hours, or maintain project time logs.
Approve every pending user in a top-level group, its subgroups, and projects. Requires permission to activate group members and an api-scoped access token. This is a bulk access change that may consume paid seats. Review all pending memberships first; use only a group whose entire pending set is authorized for approval. For testing, use an isolated top-level group with disposable pending members, not an existing group's unrelated pending memberships. See https://docs.gitlab.com/api/members/#approve-all-pending-group-members.
Approve or reject a deployment on GitLab Premium or Ultimate. See https://docs.gitlab.com/api/deployments/#approve-or-reject-a-deployment.
Approve a pending member for a top-level group and its subgroups and projects. Requires the Owner role for the group. Members pending because the user cap was reached become billable after approval. This is not administrator approval of a role promotion. The operation documents no additional plan restriction. See https://docs.gitlab.com/api/members/#approve-a-group-member and https://docs.gitlab.com/user/group/manage/#approve-pending-members-for-a-group.
Approves a merge request in a GitLab project. Use this action when you need to record an approval from the authenticated user on a specific merge request. The authenticated user must be an eligible approver with appropriate permissions. Note that this action is idempotent — calling it multiple times on the same merge request will not create duplicate approvals.
Tool to archive a project. Use when you need to mark a project read-only after finishing active development. Call after confirming no further changes are required.
Cancel active auto-merge and remove the merge request from its merge train. Requires GitLab 19.5 or later. Returns the merge request on HTTP 201; HTTP 403 means insufficient permission and 409 means auto-merge is not set. See https://docs.gitlab.com/api/merge_requests/#cancel-auto-merge.
Cancel a GitLab CI/CD job within a specified project. This action stops a running or pending job and is irreversible. Use this action when you need to cancel a job that is running, pending, or stuck in a canceling state. The optional force parameter allows cancellation of jobs that are in a canceling state. Once canceled, the job cannot be restarted.
Tool to cancel a running pipeline in a GitLab project. Use this action when you need to stop a CI/CD pipeline that is currently executing or queued. Note that the API returns success (200) regardless of the pipeline's state, so this action can be safely called even if the pipeline has already finished or been canceled.
Cherry-pick a commit onto a project branch, creating a new commit. Set dry_run to true to check whether it applies cleanly without committing. Conflicts and empty changesets fail rather than creating a commit.
Clone an issue into a project, optionally including its notes. Copies as much data as possible when the destination has equivalent labels or milestones. Insufficient permissions can produce HTTP 400.
Compare two branches, tags, or commit SHAs in a GitLab project.
Create one issue-board list by providing exactly one list selector.
Creates a commit in a GitLab project with multiple file operations, including creating, updating, deleting, moving, and changing permissions. An optional force setting can overwrite the target branch with a new commit history.
Posts a comment to a specific commit in a GitLab project repository. Use this action when you need to provide feedback, review notes, or discussion on a particular commit. Line-specific comments require both path and line parameters; if invalid, the comment is placed at the commit level.
Create a deployment for a project's environment and deployed commit. See https://docs.gitlab.com/api/deployments/#create-a-deployment.
Create an environment in a project, optionally associating Kubernetes resources. See https://docs.gitlab.com/api/environments/#create-an-environment.
Tool to create a new group in GitLab. Use when you need to establish a new group for projects or collaboration.
Create a group-level CI/CD variable. Requires the Owner role for the group.
Create a group wiki page with a title and content in a supported markup format. Requires a GitLab Premium or Ultimate group. See https://docs.gitlab.com/api/group_wikis/#create-a-wiki-page.
Create an issue discussion thread that can receive replies. Backdating with created_at requires administrator or project/group owner rights.
Create a two-way relationship between two issues. The caller must be allowed to update both issues. Supports related issues, blocking, and blocked-by relationships.
Creates a new note (comment) on a project issue in GitLab. Use this action when you need to add a comment, provide feedback, or document information on an existing issue.
Creates a new label for a GitLab project with specified name, color, and optional attributes. Use this action when you need to create a new label for organizing issues and merge requests within a project. Labels help categorize and filter project items, making project management more efficient.
Creates a new merge request in a GitLab project to propose changes from a source branch into a target branch. Use this action when you need to create a merge request for code review, feature integration, or bug fixes. This action requires both the source and target branches to exist in the project.
Make a merge request depend on another merge request being merged first. Specify a global blocking MR ID or its project-local IID. For a blocking IID in another project, also provide blocking_project_id.
Create a replyable merge request discussion on the overview or a diff position. For added lines supply new_line only; for removed lines supply old_line only; for unchanged lines supply both. Use line_range for multiline comments.
Creates and saves an unpublished merge request draft note that is visible only to its author. Use this action when the requested outcome is a saved draft for later publication; it does not publish a comment.
Create a merge request comment, not a line-specific diff discussion. Emoji-only content can create and return an emoji reaction instead of a note. Quick actions in the body can also change the merge request.
Create a detached or, when enabled, merged results merge request pipeline. This does not run a regular branch/tag pipeline. Configure .gitlab-ci.yml for merge request jobs (for example, only: [merge_requests]).
Creates a new milestone in a GitLab project. Milestones track progress towards a goal with a start date, due date, and associated issues. Use this action when you need to establish a new project milestone for organizing work, tracking release schedules, or planning sprints.
Create a personal snippet containing one or more files. Requires permission to create snippets. Prefer files over deprecated single-file fields. Limited to 300 requests per hour per user, shared with project snippet creation and the createSnippet GraphQL mutation. See https://docs.gitlab.com/api/snippets/#create-a-snippet.
Tool to create a new pipeline for a specific branch or tag in a GitLab project. Use when you need to manually trigger a CI/CD pipeline run, optionally passing variables or inputs. For merge request pipelines, use the dedicated merge requests endpoint instead.
Create a recurring pipeline schedule for a project's branch or tag. Set active to false to create an initially deactivated schedule. Optional pipeline inputs require GitLab 17.11 or later (generally available in 18.1).
Create a variable on an existing project pipeline schedule. Use env_var for an environment variable or file for a file-type variable.
Tool to create a new project in GitLab. Implements POST /projects endpoint.
Tool to create a new issue in a GitLab project. Use when you need to report a bug, request a feature, or track a task within a specific project.
Create a project snippet containing one or more files. Requires permission to create snippets and the files array. Deprecated single-file attributes are optional legacy fields. Creation is limited to 300 requests per hour per user, shared with personal snippet creation and the createSnippet GraphQL mutation. See https://docs.gitlab.com/api/project_snippets/#create-a-snippet.
Create a project-level CI/CD variable. An existing key requires a different environment_scope; the same key and environment scope cannot be created twice.
Creates a new webhook (project hook) for a GitLab project to receive real-time event notifications. Use this action when you need to set up automated integrations that respond to GitLab events like pushes, merge requests, issues, or CI/CD pipeline activities. Configure which events trigger the webhook by enabling the appropriate event flags. The webhook will send POST requests to your specified URL whenever the configured events occur.
Create a project wiki page with a title and content in a supported markup format. See https://docs.gitlab.com/api/wikis/#create-a-wiki-page.
Create a project release, optionally creating its tag and adding asset links. Requires at least Developer access. Supply ref when the tag does not exist. See https://docs.gitlab.com/api/releases/#create-a-release.
Create an asset link for an existing project release. Link names and URLs must each be unique within the release. Supported URL protocols are HTTP, HTTPS, and FTP. Optionally set a direct download path. See https://docs.gitlab.com/api/releases/links/#create-a-release-link.
Tool to create a new branch in a project. Use when you need to create a new branch from an existing branch or a specific commit in a GitLab project.
Creates a new file in a GitLab repository at the specified path with the given content. Use this action when you need to add a new file to a repository branch with a commit message.
Create a repository tag pointing to a commit, branch, or existing tag. Supply a message for an annotated tag. Creation is subject to the project's shared tag-creation rate limit and can return HTTP 429.
Tool to create a support PIN for your authenticated user. Use when GitLab Support requests a PIN to verify your identity.
Delete a deployment that is not running or the last deployment for its environment. The deployment must satisfy both prerequisites before deletion. GitLab rejects running deployments and deployments currently deployed to an environment. Returns an empty-response success indicator or GitLab's confirmation message. See https://docs.gitlab.com/api/deployments/#delete-a-deployment.
Delete an environment from a project. The environment must be stopped first. Returns success for GitLab's empty 204 response. GitLab returns 403 if the environment is not stopped and 404 if it does not exist. See https://docs.gitlab.com/api/environments/#delete-an-environment.
Deletes a GitLab group by its ID or URL-encoded path. Use this action when you need to remove a group entirely. This action is irreversible — the group cannot be recovered once permanently removed. On GitLab.com, groups are retained for 30 days before permanent deletion unless permanently_remove=true is specified. You must have Owner permissions on the group to delete it.
Delete a group-level CI/CD variable. Requires the Owner role for the group. When multiple variables share the key, use filter.environment_scope to select the variable to delete (Premium and Ultimate only). See https://docs.gitlab.com/api/group_level_variables/#delete-a-group-variable.
Delete a specified group wiki page. Requires a GitLab Premium or Ultimate group. See https://docs.gitlab.com/api/group_wikis/#delete-a-wiki-page.
Delete an issue from a project permanently. Planner or Owner roles can delete any issue; other project members can delete issues they authored (GitLab 18.10+).
Permanently delete an existing note from an issue discussion. See https://docs.gitlab.com/api/discussions/#delete-an-issue-thread-note.
Delete an issue link, removing the two-way relationship without deleting either issue. Returns the deleted relationship's source issue, target issue, and link type. See https://docs.gitlab.com/api/issue_links/#delete-an-issue-link.
Deletes a note (comment) from an issue in a GitLab project. Use this action when you need to remove a specific comment from an issue. This action is irreversible — the note cannot be recovered once deleted.
Permanently delete a job's archived files, metadata, and report artifacts. Artifacts cannot be recovered. The job log is not deleted. Requires the Maintainer or Owner role for the project. Returns success for HTTP 204. See https://docs.gitlab.com/api/job_artifacts/#delete-job-artifacts.
Deletes a label from a GitLab project by its ID or title. Use this action when you need to remove a label from a project permanently. This action is irreversible — the label cannot be recovered once deleted.
Tool to permanently delete a merge request from a GitLab project. Use when you need to remove a merge request entirely, though closing is typically preferred to preserve the discussion history and audit trail. This action is irreversible — the merge request and its associated data cannot be recovered once deleted.
Delete a merge request dependency without deleting either merge request. Requires permission to update the merge request and read the blocking merge request. See https://docs.gitlab.com/api/merge_requests/#delete-a-merge-request-dependency.
Permanently delete an existing note from a merge request discussion. See https://docs.gitlab.com/api/discussions/#delete-a-merge-request-thread-note.
Deletes one caller-owned unpublished merge request draft note. This operation is irreversible and does not delete published comments.
Delete an existing note (comment) from a merge request. This permanently removes the specified note. See https://docs.gitlab.com/api/notes/#delete-a-merge-request-note.
Deletes a project milestone by its ID. Use when you need to permanently remove a milestone from a project. This action is irreversible — the milestone cannot be recovered once deleted. Requires at minimum the Planner role for the project.
Delete an existing personal snippet. Returns success for GitLab's 204 No Content response and raises an error if the snippet is not found (404).
Tool to delete a CI/CD pipeline by its ID within a specified project. This action expires all pipeline caches and deletes all immediately related objects such as builds, logs, artifacts, and triggers. This action is irreversible — the pipeline cannot be recovered once deleted. Use when you need to permanently remove a pipeline and all its associated data.
Delete a project's pipeline schedule, preventing future scheduled runs. Returns the deleted schedule, or success for an empty response. See https://docs.gitlab.com/api/pipeline_schedules/#delete-a-pipeline-schedule.
Delete a variable from a project's pipeline schedule and return the deleted variable. See https://docs.gitlab.com/api/pipeline_schedules/#delete-a-variable-for-a-pipeline-schedule.
Tool to delete a GitLab project by its ID. Use when you need to remove a project, either by marking it for later deletion or deleting it immediately.
Remove a deploy key from a GitLab project. If no other project uses the key, GitLab deletes it from the system. See https://docs.gitlab.com/api/deploy_keys/#delete-deploy-key.
Delete a specified project snippet. Returns success for GitLab's 204 No Content response and raises an error if the snippet is not found (404).
Delete a project's CI/CD variable by key. When multiple variables share the key, use filter.environment_scope to select the variable to delete. See https://docs.gitlab.com/api/project_level_variables/#delete-a-variable.
Delete a specified project wiki page. See https://docs.gitlab.com/api/wikis/#delete-a-wiki-page.
Delete a project release and return its release body, without deleting its tag. Requires at least the Developer role for the project. See https://docs.gitlab.com/api/releases/#delete-a-release.
Delete a specified asset link from a release and return the deleted link. See https://docs.gitlab.com/api/releases/links/#delete-a-release-link.
Tool to delete a branch from a GitLab project repository. Use when you need to remove a branch that is no longer needed. This action is irreversible — the branch cannot be recovered once deleted. Cannot delete default or protected branches.
Delete a file from a GitLab project's repository by creating a commit on the specified branch. You can supply author details and a last known commit ID to detect concurrent modifications, or specify a starting branch when creating the target branch.
Delete the specified repository tag from a project.
Schedule deletion of stopped environments in the review app folder. Defaults to a safe dry run. With dry_run=false, actual deletion takes place one week after execution. By default only environments 30 days or older are selected. Returns scheduled and unprocessable environment entries. See https://docs.gitlab.com/api/environments/#delete-multiple-stopped-review-apps.
Deletes a project webhook/hook permanently from a GitLab project, removing the integration and stopping all event notifications. Use this action when you need to remove a webhook that is no longer needed or to clean up unused integrations. This action is irreversible — the webhook cannot be recovered once deleted.
Download a job's artifacts archive or a specific report by job ID.
Download a named job's artifacts archive from the latest successful pipeline for a branch or tag. Requires a completed successful pipeline with artifacts. Optionally search recent successful pipelines. Parent pipeline artifacts take precedence over child artifacts.
Tool to download a project's avatar image. Use when you need the raw avatar bytes after confirming the project exists.
Download a GitLab project Markdown upload by secret and filename.
Download a repository archive, optionally limited to a ref and subpath. GitLab.com limits this endpoint to five requests per minute.
Enable an existing deploy key on a project and return the enabled key. See https://docs.gitlab.com/api/deploy_keys/#enable-a-deploy-key.
Tool to erase the content of a specified job within a project. Use when you need to remove job artifacts and logs.
Forks a GitLab project to a specified namespace or the current user's namespace. Creates an independent copy of the project that maintains a relationship with the source. Use this action when you need to create a personal or team copy of a project for development, experimentation, or contribution workflows.
Collect evidence for an existing release. Returns success, not a release object. See https://docs.gitlab.com/api/releases/#collect-release-evidence.
Tool to get a user's status by ID. Use when you need to retrieve a GitLab user's current status message, emoji, and availability after identifying their user ID.
Retrieve a page of file diffs for a commit, branch, or tag in a project. Configured diff limits can stop pagination before all changed files are returned.
Tool to get all references (branches or tags) a commit is pushed to. Use when you need to find out which branches or tags a specific commit belongs to in a GitLab project.
Tool to get the sequence number of a commit in a project by following parent links from the given commit. Use when you need to determine the order of a commit in the project's history.
Retrieve a commit's GPG, SSH, or X.509 signature. Unsigned commits return HTTP 404.
Retrieve metadata for one container image tag in a registry repository.
Retrieves information about the currently authenticated user. Use this action when you need to get details about the user who owns the authentication token, such as their profile information, permissions, and settings.
Retrieve one project deployment, including its job and available approval summary. See https://docs.gitlab.com/api/deployments/#retrieve-a-deployment.
Retrieve a project environment, including its last deployment and cluster agent. See https://docs.gitlab.com/api/environments/#retrieve-an-environment.
Return commit attribution and lines for a GitLab repository file.
Tool to retrieve information about a specific group by its ID. Use when you need to get details of a GitLab group.
Tool to retrieve details for a specific group member. Use when you need to fetch membership information for a user in a group after you know both group ID and user ID.
Retrieve one group member, including inherited and invited memberships. Use when the group and user IDs are known and direct membership alone is not sufficient. Visibility of invited private-group members depends on caller access.
Retrieve a group CI/CD variable by key. Requires the group's Owner role. Use filter to select an environment scope when variables share a key. See https://docs.gitlab.com/api/group_level_variables/#retrieve-details-of-a-group-variable.
Retrieve a group wiki page, optionally as HTML or at a version SHA. Requires a GitLab Premium or Ultimate group. See https://docs.gitlab.com/api/group_wikis/#retrieve-a-wiki-page.
Get Groups
Retrieve the connected GitLab instance's version, revision, edition, license plan, and Kubernetes agent server metadata. See https://docs.gitlab.com/api/metadata/.
Retrieves a single issue from a GitLab project by its internal ID (iid). Returns comprehensive issue details including description, state, labels, assignees, time tracking, and task status. Use this action when you need to inspect a specific issue's current state, check its metadata, or retrieve detailed information before performing updates or analysis. Requires knowing both the project ID/path and the issue's internal ID.
Retrieve an issue by its global ID. Administrator access is required. This does not accept a project-local IID. For a project ID/path and issue IID, use Get Issue instead. Returns issue details and preserves tier-specific fields.
Retrieve one issue discussion and its notes without modifying it. See https://docs.gitlab.com/api/discussions/#retrieve-an-issue-discussion-item.
Retrieve one issue relationship by project, issue IID, and issue link ID. Returns the source issue, target issue, and relationship type. See https://docs.gitlab.com/api/issue_links/#retrieve-an-issue-link.
Retrieves a single comment (note) from a GitLab issue by its ID. Use this action when you need to fetch the details of a specific note on an issue, including its content, author information, and metadata.
Retrieves time tracking statistics for a specific issue in a project. Returns both machine-readable values (in seconds) and human-readable formatted durations. Use this action when you need to check time estimates, logged time, or track progress on an issue's time budget.
Tool to retrieve details of a single job by its ID within a specified project. Use this when you need to fetch specific information about a particular CI/CD job.
Retrieves the trace (log output) for a specific CI/CD job within a project. Use this action when you need to view the execution logs of a job to debug failures, check output, or monitor job progress. The trace contains the complete console output from the job execution.
Retrieves rule-level approval satisfaction for a GitLab merge request. This endpoint requires GitLab Premium or Ultimate and shows which users count toward each rule, not every user who approved. Use Get Merge Request Approvals for all-tier aggregate status and the complete approving-user list.
Retrieves aggregate approval status for a GitLab merge request on any GitLab tier. Returns every approving user, even when an approval does not satisfy a specific approval rule. Use Get Merge Request Approval State instead when Premium or Ultimate rule-level satisfaction is needed.
Tool to get commits of a merge request. Use when you need to retrieve all commits associated with a specific merge request.
Retrieve a specific merge request diff version with its commits and file diffs. GitLab diff limits may exclude file contents. See https://docs.gitlab.com/api/merge_requests/#retrieve-a-merge-request-diff-version.
Retrieve one merge request discussion and its notes without modifying it. See https://docs.gitlab.com/api/discussions/#retrieve-a-merge-request-discussion-item.
Retrieve an unpublished merge request draft note, visible only to its author. Does not publish or change the note. See https://docs.gitlab.com/api/draft_notes/#retrieve-a-draft-note.
Retrieve one existing merge request note by its ID without modifying it. See https://docs.gitlab.com/api/notes/#retrieve-a-merge-request-note.
Fetches one page of comments on a specific merge request.
Get raw diffs of files changed in a merge request. GitLab diff limits may truncate results.
Retrieves a single milestone by its ID for a specific project. Returns detailed information including title, description, dates, and state. Use when you need to fetch complete details about a specific milestone.
Retrieve a personal snippet's metadata, not its raw file content. See https://docs.gitlab.com/api/snippets/#retrieve-a-snippet.
Retrieve a project's pipeline schedule, including its last pipeline and owner. Variables and inputs are only returned to Maintainers, Owners, or the schedule owner. See https://docs.gitlab.com/api/pipeline_schedules/#retrieve-a-pipeline-schedule.
Retrieve a variable by key from a project's pipeline schedule. See https://docs.gitlab.com/api/pipeline_schedules/#retrieve-a-variable-for-a-pipeline-schedule.
Tool to get a single project by ID or URL-encoded path.
Return project-wide merge request approval settings.
Retrieve the latest repository import state and failures for a project.
Retrieves a single project label by its ID or title. Use this action when you need to fetch details about a specific label within a GitLab project, such as its color, description, or associated issue/MR counts.
Tool to list programming languages used in a project with percentages. Use when you need the project language breakdown.
Tool to retrieve details for a specific project member. Use after confirming project and user IDs to fetch membership information for a project member.
Tool to retrieve details for a specific project member (including inherited and invited members). Use when you need the effective membership info (including invitations and inheritance).
Tool to fetch full details for a single merge request when the MR IID is known. Use when you need to retrieve canonical metadata, description, state, branches, authors, and approval-related fields for a specific merge request.
Lists merge requests for a GitLab project, with filters including state, labels and milestones. Returns one page per request.
Retrieve the complete release resource associated with a project tag.
Retrieve metadata for a specified project snippet, not its raw file content. See https://docs.gitlab.com/api/project_snippets/#retrieve-a-snippet.
Retrieve one discussion thread from a project snippet. For issue or merge request threads, use GITLAB_GET_ISSUE_DISCUSSION or GITLAB_GET_MERGE_REQUEST_DISCUSSION instead.
Retrieve a project's CI/CD variable by key, optionally selecting its environment scope. See https://docs.gitlab.com/api/project_level_variables/#retrieve-a-single-variable.
Retrieve a project wiki page, optionally as HTML or at a version SHA. See https://docs.gitlab.com/api/wikis/#retrieve-a-wiki-page.
Lists projects accessible to the authenticated user, with filtering and pagination. Private or group projects may be omitted if access is insufficient; each request returns one page.
Retrieves a file from a GitLab repository's raw file endpoint as text, without Base64 encoding. The response includes the content type when available.
Get a personal snippet's raw contents as text.
Retrieve a project snippet's raw content as plain text.
Retrieves raw Git blob bytes by object SHA as a lossless Base64 string.
Retrieve a specified asset link from a project's release by tag and link ID.
Retrieve Base64-encoded Git blob content and metadata by object SHA.
Retrieve up to 20 files with Base64-encoded content in one request. Requires authentication and GitLab's experimental feature flag (404 if disabled); not production-ready. Each blob is truncated to its first 1 MB, with size reporting its full size. Missing files are omitted. The default rate limit is 5 requests per minute per user and project.
Tool to retrieve information about a specific branch in a project. Use when you need to get details for a single branch.
Retrieves a list of repository branches for a project. Use this when you need to get all branches or search for specific branches within a GitLab project.
Retrieves a single file from a GitLab repository at a specific ref (branch, tag, or commit). Returns the file content as base64-encoded data along with metadata like size, encoding, and commit information. Use this action when you need to fetch the contents or details of a specific file from a GitLab project repository.
Return GitLab repository file metadata without downloading file content.
Retrieve one repository tag by name, including its commit and associated release.
Retrieve status and configuration details for a GitLab runner.
Tool to get a specific commit identified by the commit hash or name of a branch or tag. Use this when you need to retrieve detailed information about a single commit in a GitLab project repository.
Tool to retrieve details of a single pipeline by its ID within a specified project. Use when you need to get information about a specific CI/CD pipeline.
Retrieve a repository tag's X.509 signature. Unsigned tags return HTTP 404.
Tool to retrieve information about a specific user by their ID. Use when you need to fetch details for a single GitLab user.
Tool to get the current user's preferences. Use when you need to retrieve the user's diff display and CI identity JWT settings after authentication.
Tool to get the current user's status. Use when displaying or verifying the authenticated user's GitLab status after login.
Tool to get details of the current user's Support PIN. Use when you need to retrieve the active support PIN and its expiration for the authenticated user.
Tool to retrieve a list of users from GitLab. Use this when you need to find user information, search for specific users, or filter users based on various criteria like activity status or creation date.
Retrieves detailed information about a specific project webhook by its ID. Use this action when you need to inspect a webhook's configuration, including its URL, enabled event triggers, SSL verification settings, and authentication details. This is useful for verifying webhook configurations or before updating webhook settings.
Tool to import members from one project to another. Use when migrating members between projects.
Prevent a job's artifacts from being automatically deleted at expiration. Returns the job details. See https://docs.gitlab.com/api/job_artifacts/#keep-job-artifacts.
Validate the CI/CD configuration stored in a GitLab project.
Lists a page of group members, including direct, inherited, and invited members. Supports pagination to retrieve further members.
Lists a page of project members, including direct, inherited, and invited members. Supports filtering and pagination to retrieve further members.
Tool to list billable members of a top-level group (including its subgroups and projects). Use when generating billing reports; requires Owner role on the group.
List one page of merge requests blocked by the specified merge request. Returns dependency relationships with blocking and blocked merge request details. Follow next_page to retrieve additional results.
Retrieves all comments associated with a specific commit in a GitLab project. Use this action when you need to view discussions or feedback left on a particular commit, including both general comments and inline code review comments.
List one page of merge requests associated with a commit. Returns the merge request that originally introduced the commit. Optionally filter by state and follow next_page for more results.
List one page of commit statuses, optionally filtered and sorted. By default GitLab returns only the latest statuses. Set all to true to include all statuses and follow next_page to retrieve additional pages.
List one page of merge requests shipped with a deployment. Not all deployments can be associated with merge requests. Supports the Merge Requests API filters; follow next_page to retrieve subsequent pages. https://docs.gitlab.com/api/deployments/#list-all-merge-requests-associated-with-a-deployment
List one page of project environments, filtered by exact name, search, or state.
List one page of group issues with filters. Follow next_page to retrieve more results.
Tool to list direct members of a group. Use when you need to retrieve or filter a group's direct membership.
List merge requests across a GitLab group and its subgroups.
Tool to list projects within a GitLab group by group ID or full path. Use when discovering projects under a namespace or subgroup.
List one page of releases for projects in a group. Use simple for limited release fields and sort for ascending or descending order. Follow next_page for additional pages. The group endpoint has no order_by parameter. Current GitLab documentation lists Free, Premium, and Ultimate availability, with no Premium-only limitation stated.
List one page of a group's CI/CD variables, including available values. Requires the Owner role for the group. Use page and per_page to paginate; next_page indicates whether more results exist.
List one page of a group's wiki pages, optionally including content. Requires a GitLab Premium or Ultimate group. Use page and per_page to paginate, following next_page for further results.
List one page of merge requests that close an issue when merged. Private projects and confidential issues require authorized credentials.
List one page of an issue's discussions, including threaded and individual notes.
List linked issues ordered by relationship creation time, oldest first. Results are filtered by the caller's authorization to view the linked issues.
Retrieves all notes (comments and activity) for a specific project issue in GitLab. Use this action when you need to view the discussion history, comments, or activity log on an issue to understand the context or follow up on conversations. Results are paginated and can be filtered by activity type or sorted by creation/update time.
List one page of users participating in an issue. Follow next_page for more results. Private projects and confidential issues require credentials with access to the issue.
List one page of merge requests related to an issue. Follow next_page for more results. Private projects and confidential issues require credentials with access to the issue.
List one page of issues accessible to the authenticated user across projects. Defaults to issues created by the current user, not every accessible issue. Use filters to narrow results and next_page to continue pagination. GitLab.com may reject scope=all; use a group or project issues action in that case.
Browse one page of a job's artifact archive without downloading it. Optionally browse a subdirectory or list recursively. Nested directories are represented by entry paths, not nested children. Requires artifact metadata; GitLab returns 404 if the job, artifacts, metadata, or requested path is missing. CI/CD job token authentication is not exposed by this action.
List projects allowed to authenticate to a project with CI/CD job tokens.
Lists a page of labels for a GitLab project, with optional filtering by name, archived status, and ancestor inclusion.
List one page of issues that would close when a merge request is merged. These are not necessarily already closed. External trackers may return only an issue key and title. Follow next_page for additional results.
List dependencies that must be resolved before a merge request can merge. Follow next_page for additional results. Blocking merge request details are omitted by GitLab when the caller lacks access to that merge request.
Lists diff version metadata for a GitLab merge request, including commit SHAs, state and creation time.
List the files changed by a GitLab merge request, including available patch content. Results are paginated, with up to 100 changed files per page; unified diff format can be requested. GitLab may omit diff content because of its diff limits.
Lists grouped discussion threads and their notes for a merge request.
Lists the connected author's unpublished draft notes for a merge request.
List one page of participants for a merge request. Follow next_page to retrieve additional results.
List one page of pipelines for a merge request. Follow next_page to retrieve additional results.
List one page of issues referenced by a merge request's title, description, commit messages, comments, and discussions. Supports GitLab and external issue trackers. Follow next_page for additional results.
List a page of merge request reviewers with their review states. Follow next_page to retrieve additional results.
Retrieves a list of merge requests from across all accessible projects based on scope and filters. Use this action when you need to query merge requests at the instance or user level (not scoped to a specific project), such as finding all merge requests created by a user, assigned to a user, or awaiting review. By default returns merge requests created by the authenticated user; use scope=all to retrieve all accessible merge requests.
List the files belonging to a package in a GitLab project.
Tool to list pending members of a group and its subgroups and projects. Use when you need to review users awaiting approval or invited without an account. Call after confirming the top-level group ID.
List one page of the current user's snippets, optionally filtered by creation time. Follow next_page with page and per_page to retrieve further results. See https://docs.gitlab.com/api/snippets/#list-all-snippets-for-current-user.
Tool to retrieve a list of jobs for a specified pipeline within a project. Use this when you need to inspect the status or details of jobs associated with a particular CI/CD pipeline.
List one page of pipelines triggered by a project's pipeline schedule. Optionally filter by scope, status, or creation/update time and choose sort order. Follow next_page to retrieve additional results.
List one page of pipeline schedules for a project, optionally filtered by activity. Follow next_page for additional results. Inputs are visible only to Maintainers, Owners, or the schedule owner.
List trigger jobs and downstream pipeline relationships for a pipeline.
Retrieve variables associated with a project pipeline. GitLab returns 404 if the pipeline variables file is missing from storage.
Return one page of issue boards configured for a GitLab project.
List and filter deployments in a GitLab project.
List a page of a GitLab project's ancestor groups, with options to include shared groups and filter results.
Tool to list groups invited to a project. Use when auditing which groups have access to a project.
Tool to list issues for a project with filtering options (state, labels, search, assignee, author, etc.). Use when you need to browse, filter, or triage project issues to confirm IIDs or decide what to update/close.
List one page of a project's CI/CD jobs, newest first, optionally filtered by status.
List one page of direct project members viewable by the authenticated user. Does not include inherited members or memberships through invited groups. See https://docs.gitlab.com/api/project_members/#list-all-direct-members-of-a-project.
Lists a page of milestones for a specific project, with optional filtering by state, title, search terms, or IID.
List and filter packages in a GitLab project's package registry.
Tool to retrieve a list of pipelines for a specified project. Use when you need to get information about CI/CD pipelines, such as their status, source, or creation/update times.
List one page of container registry repositories for a GitLab project.
List one page of project releases, sorted by released_at descending by default. Optionally sort by creation time or include rendered descriptions. Follow next_page to retrieve additional releases.
Lists repository tags for a GitLab project, with search and ordering options. Returns one page per request.
List runners available to a GitLab project with filtering and pagination.
Tool to list groups that can be shared with a project. Use before sharing a project to fetch eligible groups.
List one page of snippets for a project. Use page and per_page to paginate, following next_page for further results.
Tool to list namespaces available for project transfer. Use when you need to determine which groups a project can be transferred into.
Tool to list users of a project. Use after you have a project ID and want to retrieve its users.
List one page of a project's CI/CD variables, including available values. Use page and per_page to paginate; next_page indicates whether more results exist.
List one page of a project's wiki pages, optionally including content. Use page and per_page to paginate, following next_page for further results.
List tag protection rules configured for a GitLab project.
List asset links from a project release identified by its tag. Returns link IDs, names, URLs, and link types, not downloaded asset content.
Tool to get a list of repository commits in a project. Use when you need to retrieve commit history for a specific project, branch, or time range.
Lists files and directories in a GitLab project's repository tree, optionally at a specified path and branch, tag, or commit. Supports recursive listing or including the latest commit for each entry, but not both together. Results are paginated using offset or keyset pagination.
List one page of jobs processed by a GitLab runner.
List manager machines associated with a GitLab runner.
List the connected user's GitLab to-do items with filters and pagination.
List contribution events for a GitLab user.
Tool to list projects owned by a specific user. Use after obtaining target user identity to fetch owned projects.
Lists a page of webhooks configured for a GitLab project, including URLs, event triggers, and SSL settings. Webhook secret tokens and URL variables are redacted from the response.
Merge a GitLab merge request immediately or enable auto-merge when checks pass. A successful merge is irreversible, and should_remove_source_branch can also delete the source branch.
Moves an issue from one project to another in GitLab. The issue receives a new IID and project_id in the destination project. Use this action when you need to relocate an issue to a different project, such as when reorganizing work or transferring issues between team projects. If equivalent labels or milestones exist in the destination project, they are automatically assigned to the moved issue.
Triggers execution of a manual job in a GitLab project. Use this action when you need to start or run a job that requires manual intervention or has a manual status.
Run a project's pipeline schedule immediately without affecting its next scheduled run. Returns GitLab's confirmation message, not a pipeline object. See https://docs.gitlab.com/api/pipeline_schedules/#run-a-pipeline-schedule-immediately.
Protects a repository branch in a GitLab project by setting access controls for push, merge, and unprotect operations. Use this action when you need to enforce branch protection rules to prevent unauthorized modifications or deletions of important branches like main, master, or release branches. Protected branches can restrict who can push, merge, force push, and remove protection.
Publish all pending draft notes belonging to the authenticated user on a merge request. Optionally add a summary note and set the review state without recording a formal approval. GitLab may normalize note bodies when publishing. See https://docs.gitlab.com/api/draft_notes/#publish-all-pending-draft-notes.
Publish one pending draft note as a comment on a merge request. Before publication, draft notes are visible only to their author. GitLab may normalize the note body when publishing. Returns success, not a note object. See https://docs.gitlab.com/api/draft_notes/#publish-a-draft-note.
Enqueue rebasing a merge request's source branch against its target branch. HTTP 202 means queued, not completed. Poll the retrieve merge request endpoint with include_rebase_in_progress=true to check rebase_in_progress and merge_error. Requires permission to push to the source branch, including force push when protected. See https://docs.gitlab.com/api/merge_requests/#rebase-a-merge-request.
Remove a user explicitly assigned a role in a group. This does not remove users who only belong directly to a project in the group. By default, direct memberships in subgroups and projects are also removed. See https://docs.gitlab.com/api/members/#remove-a-group-member.
Remove a direct member of a project, not an inherited membership. Optionally skip subresource membership removal or unassign project issuables. See https://docs.gitlab.com/api/project_members/#remove-a-direct-member-of-a-project.
Reorder a project issue for manually sorted issue lists. Position references use global issue IDs, not project-local IIDs. Supply at least one reference. Each name identifies the neighbor that should be before or after the reordered issue, not a move-command direction.
Add a note to an issue thread, or turn a single comment into a thread. System notes cannot receive replies (GitLab returns HTTP 400). See https://docs.gitlab.com/api/discussions/#add-a-note-to-an-issue-thread.
Add a note to a merge request thread, or turn a single comment into a thread. See https://docs.gitlab.com/api/discussions/#add-note-to-a-merge-request-thread.
Post a reply in an existing project snippet discussion thread. For issue or merge request threads, use GITLAB_REPLY_ISSUE_DISCUSSION or GITLAB_REPLY_MERGE_REQUEST_DISCUSSION instead.
Reset all approvals for a specified merge request. Available only to bot users with a valid project or group token. Human users receive 401 Unauthorized, even with an otherwise valid personal access token. See https://docs.gitlab.com/api/merge_request_approvals/#reset-approvals-for-a-merge-request.
Resets the total spent time for a specified GitLab issue to 0 seconds. This action is irreversible — all previously recorded time entries will be cleared and cannot be recovered. Use this action when you need to clear all time tracking entries for an issue and start time tracking from scratch.
Resets the estimated time for a specified issue to 0 seconds. Use this action when you need to clear a previously set time estimate on an issue while preserving the total time spent.
Resolve or reopen a resolvable merge request discussion thread.
Restore a project marked for deletion before it is permanently deleted.
Retry a single CI/CD job, optionally supplying job input values. Returns the retried job. Trigger jobs require GitLab 17.0 or later. See https://docs.gitlab.com/api/jobs/#retry-a-job.
Retries failed or canceled jobs in a pipeline. Use this action when you need to re-run a pipeline that has failed or was canceled. Note that if there are no failed or canceled jobs in the pipeline, calling this action has no effect.
Revert a commit on a target branch, creating a new commit. Set dry_run=true to check applicability without writing. Conflicting or already-reverted changes can fail.
Search visible resources and repository content across a GitLab instance.
Search resources and repository content within one GitLab group.
Search resources and repository content within one GitLab project.
Update project-level merge request approval behavior.
Sets the estimated time to complete an issue in a GitLab project. Use this action when you need to set or update the time estimate for tracking project work. The estimate is specified in human-readable format like '3h30m' for 3 hours and 30 minutes.
Sets the current GitLab user's status message and emoji, with an optional automatic clearing interval.
Tool to share a project with a group. Use when you need to grant a group specific access level to a project.
Stars a project in GitLab, marking it as a favorite for the authenticated user. This adds the project to your starred projects list and increments its star count. Use this action when you want to bookmark or show support for a project. The operation is idempotent - starring an already-starred project succeeds without error.
Tool to start the housekeeping task for a project. Use when you need to trigger manual maintenance or pruning on a repository.
Stop a running environment, optionally skipping its on_stop actions. See https://docs.gitlab.com/api/environments/#stop-an-environment.
Request stopping all environments last modified or deployed to before a date. Protected environments are excluded. Confirmation means the stop was requested, not that all environments have finished stopping. See https://docs.gitlab.com/api/environments/#stop-stale-environments.
Take ownership of a project's pipeline schedule as the authenticated user. Returns the updated schedule and owner. See https://docs.gitlab.com/api/pipeline_schedules/#update-ownership-of-a-pipeline-schedule.
Move a GitLab project to another namespace. GitLab may complete the namespace move asynchronously after accepting the transfer.
Removes the approval from the currently authenticated user for a specified merge request. Use this action when you need to revoke your previously given approval on a merge request. The action requires the merge request to have been previously approved by the authenticated user.
Unarchive a GitLab project to restore active use. Requires administrator access or the Owner role on the project. Idempotent: unarchiving an already unarchived project does not change it.
Tool to remove protection from a branch in a GitLab project. Use this action when you need to unprotect a branch, allowing unrestricted push and merge access. This action is irreversible in the sense that protection rules must be manually reapplied if needed later.
Unstar a previously starred GitLab project to remove it from your favorites list. Use this action when you need to remove a project from your starred projects. This action removes the star that was previously added by the authenticated user.
Update the status of a project's deployment. See https://docs.gitlab.com/api/deployments/#update-a-deployment.
Update an environment's settings, without renaming it. See https://docs.gitlab.com/api/environments/#update-an-existing-environment. Omit a setting to leave it unchanged; explicit null removes supported associations.
Updates an existing GitLab group's settings and properties. Use this action when you need to modify group configuration such as name, path, visibility, permissions, or feature settings. Administrators can update additional settings like shared runners limits and IP restrictions.
Update a group member's access level, expiration, or custom role. Promotions may be queued for administrator approval rather than applied immediately. See https://docs.gitlab.com/api/members/#update-a-group-member.
Change a user's group membership state to awaiting or active. The change applies to all subgroups and projects and can allow access when a user is over the free user limit. See https://docs.gitlab.com/api/members/#change-group-membership-state-for-a-user.
Update a group CI/CD variable. Requires the Owner role for the group. Use filter.environment_scope to select the existing scope and environment_scope to set the new scope. Verify the selected scope exists with the retrieve endpoint first: GitLab falls back to another scope with the same key if it does not exist. See https://docs.gitlab.com/api/group_level_variables/#update-a-group-variable.
Update a group wiki page's content, title, and optional markup format. Requires a GitLab Premium or Ultimate group. Provide content or title (or both). Changing the title can change the page slug. See https://docs.gitlab.com/api/group_wikis/#update-a-wiki-page.
Update the content of an existing issue discussion note. See https://docs.gitlab.com/api/discussions/#update-an-issue-thread-note.
Updates an existing note (comment) on a GitLab issue. Use this action when you need to edit the content of a previously created comment on an issue. This is useful for correcting typos, adding additional information, or updating outdated information in issue discussions.
Updates an existing label in a GitLab project by modifying its name, color, description, priority, or archived status. At least one of new_name or color must be provided to perform the update. Use this action when you need to rename a label, change its appearance, update its description, adjust its priority, or archive/unarchive it.
Updates an existing merge request in a GitLab project (title, description, assignees, reviewers, labels, state, etc.). Use this action when you need to modify merge request details, manage assignees/reviewers, update labels, close/reopen merge requests, or configure merge settings like squash or auto-removal of source branch. This action is idempotent and can be called multiple times with the same parameters.
Update the content of a merge request thread note, or resolve/reopen it. Set exactly one of body or resolved. An empty resolved value is a no-op. See https://docs.gitlab.com/api/discussions/#update-a-merge-request-thread-note.
Update the content or diff position of a merge request draft note. Draft notes are unpublished and visible only to their author. Omitted position is kept unchanged. This does not publish the note. See https://docs.gitlab.com/api/draft_notes/#update-a-draft-note.
Update an existing merge request note's content and optional confidential flag. This edits a published note, not an unpublished draft note or a diff discussion. See https://docs.gitlab.com/api/notes/#update-a-merge-request-note.
Updates an existing milestone in a GitLab project, allowing you to modify the title, description, dates, or state. Use this action when you need to change milestone details, adjust deadlines, or close/reopen a milestone.
Update an existing personal snippet's metadata or files. Requires permission to change the snippet. For multi-file snippets, supply files with an action on each entry; prefer files over deprecated content and file_name. See https://docs.gitlab.com/api/snippets/#update-snippet.
Update a project's pipeline schedule, which is automatically rescheduled. Only supplied fields are updated. Inputs accept strings, arrays, numbers, or booleans; remove an existing input with its name and destroy=true. See https://docs.gitlab.com/api/pipeline_schedules/#update-a-pipeline-schedule.
Update an existing variable for a project's pipeline schedule. Supply value, variable_type, or both; omitted fields are not sent. See https://docs.gitlab.com/api/pipeline_schedules/#update-a-variable-for-a-pipeline-schedule.
Update an existing GitLab project's settings, visibility, features, and CI/CD configuration. Requires Maintainer or Owner; some settings require Owner, administrator access, a paid tier, or a newer GitLab version. Only supplied settings are changed. Topics replace existing topics. Avatar accepts an image URL to upload. To clear an array, send an empty array in a separate call without avatar.
Change a project's deploy-key title or push permission. Supply at least one of title or can_push. See https://docs.gitlab.com/api/deploy_keys/#update-deploy-key.
Tool to update an existing issue in a GitLab project (title, description, labels, assignees, state, etc.). Use when you need to modify issue details, close/reopen issues, or manage labels and assignments.
Update a project member's access level, expiration, or custom role. Promotions may be queued for administrator approval rather than applied immediately. See https://docs.gitlab.com/api/project_members/#update-a-member-of-a-project.
Update a project snippet's metadata or files. Requires permission to change existing snippets. Multi-file snippet updates must use files, with an action on every entry. Prefer files over deprecated content and file_name. See https://docs.gitlab.com/api/project_snippets/#update-a-snippet.
Update a project's CI/CD variable by key with a required new value. Use filter.environment_scope to select an existing variable when keys repeat; environment_scope sets the variable's new scope instead. See https://docs.gitlab.com/api/project_level_variables/#update-a-variable.
Update a project wiki page's content, title, and optional markup format. Provide content or title (or both). Changing the title can change the page slug. See https://docs.gitlab.com/api/wikis/#update-a-wiki-page.
Update a project release's name, description, milestones, or release date. Requires Developer access. Omitted fields remain unchanged; pass an empty milestones array to remove all milestone associations. See https://docs.gitlab.com/api/releases/#update-a-release.
Update an existing asset link for a project release. Supply at least one of name or url; optionally change the direct asset path or link type. Supported URL protocols are HTTP, HTTPS, and FTP. See https://docs.gitlab.com/api/releases/links/#update-a-release-link.
Updates an existing file in a GitLab repository. Commits the changes to the specified branch with the provided commit message. Use this action when you need to modify file contents, change file permissions, or update files in a specific branch. Note that if concurrent modifications occur (detected via last_commit_id), the update will fail.
Updates the current user's diff viewing and CI identity preferences. All three settings must be supplied together.
Updates an existing project webhook's URL and optionally its event triggers, SSL verification, and authentication token. Use it to change the endpoint or security settings, adjust notifications, or rotate the token; the webhook URL is required even when updating other settings.
Upload a file to the uploads folder in a group's wiki repository. Requires a GitLab Premium or Ultimate group. See https://docs.gitlab.com/api/group_wikis/#upload-an-attachment-to-the-wiki-repository.
Upload a file to the uploads folder in a project's wiki repository. See https://docs.gitlab.com/api/wikis/#upload-an-attachment-to-the-wiki-repository.
Validate supplied GitLab CI/CD YAML without creating a pipeline.
Validates the authentication credentials by retrieving the currently authenticated user's information. Use this action when you need to verify that the API token or credentials are valid and active. Returns the authenticated user's profile details if credentials are valid.
The GitLab integration connects your Dench AI CRM directly to GitLab, so agents can read and act on your GitLab data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.
317 actions are available for agents to invoke on your behalf. Every call runs through GitLab's own authorization, scoped to the account you connect.
Sign in to your Dench workspace and open Integrations.
Find GitLab and click Connect — you'll authorize access through GitLab's own sign-in flow. No API keys or code required.
Ask an agent to use GitLab in chat, or call it from an automation.
Manage or disconnect the connection any time from workspace settings.
The Dench GitLab integration connects your AI CRM to GitLab, so AI agents can work with your GitLab data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.
The GitLab integration currently exposes 317 actions, including Add Group Member, Add Project Member, Add Spent Time, Approve All Group Members, Approve Deployment, and Approve Group Member. Agents invoke them on your behalf from chat or from automations.
No. You connect GitLab from your Dench workspace using GitLab's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.
Connections are authorized through GitLab's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the GitLab connection from your workspace settings at any time.