> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tracecat.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GitLab

> Reference for the Tracecat GitLab integration: registered actions, required secrets, expected inputs, and example workflow usage.

## Cancel pipeline

Action ID: `tools.gitlab.cancel_pipeline`

Cancel pipeline. Calls POST /projects/\{project\_id}/pipelines/\{pipeline\_id}/cancel directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="pipeline_id" type="integer" required>
  GitLab API path value for pipeline\_id.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>

## Create commit

Action ID: `tools.gitlab.create_commit`

Create commit. Calls POST /projects/\{project\_id}/repository/commits directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>

## Create issue

Action ID: `tools.gitlab.create_issue`

Create issue. Calls POST /projects/\{project\_id}/issues directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version. For bug and security reports, pass GitLab-native fields such as issue\_type, confidential, labels, assignee\_ids, and severity through payload unchanged.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>

## Create issue link

Action ID: `tools.gitlab.create_issue_link`

Create issue link. Calls POST /projects/\{project\_id}/issues/\{issue\_iid}/links directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="issue_iid" type="integer" required>
  GitLab API path value for issue\_iid.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>

## Create issue note

Action ID: `tools.gitlab.create_issue_note`

Create issue note. Calls POST /projects/\{project\_id}/issues/\{issue\_iid}/notes directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="issue_iid" type="integer" required>
  GitLab API path value for issue\_iid.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>

## Create merge request

Action ID: `tools.gitlab.create_merge_request`

Create merge request. Calls POST /projects/\{project\_id}/merge\_requests directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>

## Create merge request note

Action ID: `tools.gitlab.create_merge_request_note`

Create merge request note. Calls POST /projects/\{project\_id}/merge\_requests/\{merge\_request\_iid}/notes directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="merge_request_iid" type="integer" required>
  GitLab API path value for merge\_request\_iid.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>

## Create pipeline

Action ID: `tools.gitlab.create_pipeline`

Create pipeline. Calls POST /projects/\{project\_id}/pipeline directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>

## Create project vulnerability export and wait

Action ID: `tools.gitlab.create_project_vulnerability_export_and_wait`

Creates a project vulnerability export with POST /security/projects/\{project\_id}/vulnerability\_exports, then polls GET /security/vulnerability\_exports/\{export\_id} while GitLab returns 202. Uses an api-scoped GitLab project access token. Required project role, Ultimate tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version. Polling is bounded and returns GitLab's terminal response unchanged.

Reference: [https://docs.gitlab.com/api/vulnerability\_exports/](https://docs.gitlab.com/api/vulnerability_exports/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  Numeric project ID or namespaced project path.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native vulnerability export request body.

  Default: `null`.
</ParamField>

<ParamField path="poll_interval" type="number | null">
  Seconds between polling attempts; exponential backoff when omitted.

  Default: `null`.
</ParamField>

## Delete pipeline

Action ID: `tools.gitlab.delete_pipeline`

Delete pipeline. Calls DELETE /projects/\{project\_id}/pipelines/\{pipeline\_id} directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="pipeline_id" type="integer" required>
  GitLab API path value for pipeline\_id.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>

## Download vulnerability export

Action ID: `tools.gitlab.download_vulnerability_export`

Download vulnerability export. Calls GET /security/vulnerability\_exports/\{export\_id}/download directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="export_id" type="integer" required>
  GitLab API path value for export\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## Get issue

Action ID: `tools.gitlab.get_issue`

Get issue. Calls GET /projects/\{project\_id}/issues/\{issue\_iid} directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="issue_iid" type="integer" required>
  GitLab API path value for issue\_iid.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## Get job trace

Action ID: `tools.gitlab.get_job_trace`

Get job trace. Calls GET /projects/\{project\_id}/jobs/\{job\_id}/trace directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="job_id" type="integer" required>
  GitLab API path value for job\_id.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## Get merge request

Action ID: `tools.gitlab.get_merge_request`

Get merge request. Calls GET /projects/\{project\_id}/merge\_requests/\{merge\_request\_iid} directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="merge_request_iid" type="integer" required>
  GitLab API path value for merge\_request\_iid.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## Get project

Action ID: `tools.gitlab.get_project`

Get project. Calls GET /projects/\{project\_id} directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## Get project security settings

Action ID: `tools.gitlab.get_project_security_settings`

Get project security settings. Calls GET /projects/\{project\_id}/security\_settings directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## Get repository file

Action ID: `tools.gitlab.get_repository_file`

Get repository file. Calls GET /projects/\{project\_id}/repository/files/\{file\_path} directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="file_path" type="string" required>
  GitLab API path value for file\_path.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## Get vulnerability

Action ID: `tools.gitlab.get_vulnerability`

Get vulnerability. Calls GET /vulnerabilities/\{vulnerability\_id} directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version. This REST endpoint is deprecated and unstable; the response is preserved unchanged for supported GitLab versions.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="vulnerability_id" type="integer" required>
  GitLab API path value for vulnerability\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List commits

Action ID: `tools.gitlab.list_commits`

List commits. Calls GET /projects/\{project\_id}/repository/commits directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List issue notes

Action ID: `tools.gitlab.list_issue_notes`

List issue notes. Calls GET /projects/\{project\_id}/issues/\{issue\_iid}/notes directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="issue_iid" type="integer" required>
  GitLab API path value for issue\_iid.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List merge request commits

Action ID: `tools.gitlab.list_merge_request_commits`

List merge request commits. Calls GET /projects/\{project\_id}/merge\_requests/\{merge\_request\_iid}/commits directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="merge_request_iid" type="integer" required>
  GitLab API path value for merge\_request\_iid.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List merge request diffs

Action ID: `tools.gitlab.list_merge_request_diffs`

List merge request diffs. Calls GET /projects/\{project\_id}/merge\_requests/\{merge\_request\_iid}/diffs directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="merge_request_iid" type="integer" required>
  GitLab API path value for merge\_request\_iid.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List merge request notes

Action ID: `tools.gitlab.list_merge_request_notes`

List merge request notes. Calls GET /projects/\{project\_id}/merge\_requests/\{merge\_request\_iid}/notes directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="merge_request_iid" type="integer" required>
  GitLab API path value for merge\_request\_iid.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List merge request pipelines

Action ID: `tools.gitlab.list_merge_request_pipelines`

List merge request pipelines. Calls GET /projects/\{project\_id}/merge\_requests/\{merge\_request\_iid}/pipelines directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="merge_request_iid" type="integer" required>
  GitLab API path value for merge\_request\_iid.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List merge requests

Action ID: `tools.gitlab.list_merge_requests`

List merge requests. Calls GET /projects/\{project\_id}/merge\_requests directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List pipeline jobs

Action ID: `tools.gitlab.list_pipeline_jobs`

List pipeline jobs. Calls GET /projects/\{project\_id}/pipelines/\{pipeline\_id}/jobs directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="pipeline_id" type="integer" required>
  GitLab API path value for pipeline\_id.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List pipelines

Action ID: `tools.gitlab.list_pipelines`

List pipelines. Calls GET /projects/\{project\_id}/pipelines directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List project approval rules

Action ID: `tools.gitlab.list_project_approval_rules`

List project approval rules. Calls GET /projects/\{project\_id}/approval\_rules directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List project audit events

Action ID: `tools.gitlab.list_project_audit_events`

List project audit events. Calls GET /projects/\{project\_id}/audit\_events directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List project dependencies

Action ID: `tools.gitlab.list_project_dependencies`

List project dependencies. Calls GET /projects/\{project\_id}/dependencies directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List project labels

Action ID: `tools.gitlab.list_project_labels`

List project labels. Calls GET /projects/\{project\_id}/labels directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List project members with inherited access

Action ID: `tools.gitlab.list_project_members_with_inherited_access`

List project members with inherited access. Calls GET /projects/\{project\_id}/members/all directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List project vulnerability findings

Action ID: `tools.gitlab.list_project_vulnerability_findings`

List project vulnerability findings. Calls GET /projects/\{project\_id}/vulnerability\_findings directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version. This REST endpoint is deprecated and unstable; the response is preserved unchanged for supported GitLab versions.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List project wiki pages

Action ID: `tools.gitlab.list_project_wiki_pages`

List project wiki pages. Calls GET /projects/\{project\_id}/wikis directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List protected branches

Action ID: `tools.gitlab.list_protected_branches`

List protected branches. Calls GET /projects/\{project\_id}/protected\_branches directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## List repository tree

Action ID: `tools.gitlab.list_repository_tree`

List repository tree. Calls GET /projects/\{project\_id}/repository/tree directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## Merge merge request

Action ID: `tools.gitlab.merge_merge_request`

Merge merge request. Calls PUT /projects/\{project\_id}/merge\_requests/\{merge\_request\_iid}/merge directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="merge_request_iid" type="integer" required>
  GitLab API path value for merge\_request\_iid.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>

## Retry pipeline

Action ID: `tools.gitlab.retry_pipeline`

Retry pipeline. Calls POST /projects/\{project\_id}/pipelines/\{pipeline\_id}/retry directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="pipeline_id" type="integer" required>
  GitLab API path value for pipeline\_id.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>

## Search project

Action ID: `tools.gitlab.search_project`

Search project. Calls GET /projects/\{project\_id}/search directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## Semantic code search

Action ID: `tools.gitlab.semantic_code_search`

Semantic code search. Calls GET /projects/\{project\_id}/search/semantic directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version. Requires GitLab Duo and a GitLab version that supports the REST semantic search endpoint.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

## Update issue

Action ID: `tools.gitlab.update_issue`

Update issue. Calls PUT /projects/\{project\_id}/issues/\{issue\_iid} directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="issue_iid" type="integer" required>
  GitLab API path value for issue\_iid.
</ParamField>

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>

## Update project security settings

Action ID: `tools.gitlab.update_project_security_settings`

Update project security settings. Calls PUT /projects/\{project\_id}/security\_settings directly with an api-scoped GitLab project access token. Required project role, tier, and GitLab version are enforced by GitLab; GitLab Self-Managed availability depends on the installed version.

Reference: [https://docs.gitlab.com/api/api\_resources/](https://docs.gitlab.com/api/api_resources/)

### Secrets

Required secrets:

* `gitlab`: required values `GITLAB_API_TOKEN`.

### Input fields

<ParamField path="project_id" type="string" required>
  GitLab API path value for project\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitLab API v4 base URL. Set this input to a workspace variable for a reusable self-managed host.

  Default: `"https://gitlab.com/api/v4"`.
</ParamField>

<ParamField path="params" type="object | null">
  API-native query parameters, including pagination and filters.

  Default: `null`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation.

  Default: `null`.
</ParamField>
