> ## Documentation Index
> Fetch the complete documentation index at: https://nango-wari-migrated-bigcommerce-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Gitlab

## Overview

<CardGroup cols={3}>
  <Card title="Pre-built tooling" icon="screwdriver-wrench" href="#pre-built-tooling" />

  <Card title="Pre-built integrations" icon="square-check" href="#pre-built-integrations" />

  <Card title="Access requirements" icon="triangle-exclamation" href="#access-requirements" />

  <Card title="Setup guide" icon="rocket" href="#setup-guide" />

  <Card title="Useful links" icon="circle-info" href="#useful-links" />

  <Card title="API gotchas" icon="biohazard" href="#api-gotchas" />
</CardGroup>

## Pre-built tooling

<AccordionGroup>
  <Accordion title="✅ Authorization">
    | Tools                           | Status |
    | ------------------------------- | ------ |
    | Pre-built authorization (OAuth) | ✅      |
    | Credentials auto-refresh        | ✅      |
    | Auth parameters validation      | ✅      |
    | Pre-built authorization UI      | ✅      |
    | Custom authorization UI         | ✅      |
    | Expired credentials detection   | ✅      |
  </Accordion>

  <Accordion title="✅ Read & write data">
    | Tools                                     | Status |
    | ----------------------------------------- | ------ |
    | Pre-built integrations                    | ✅      |
    | API unification                           | ✅      |
    | 2-way sync                                | ✅      |
    | Webhooks from Nango on data modifications | ✅      |
    | Real-time webhooks from 3rd-party API     | ✅      |
    | Proxy requests                            | ✅      |
  </Accordion>

  <Accordion title="✅ Observability & data quality">
    | Tools                   | Status |
    | ----------------------- | ------ |
    | HTTP request logging    | ✅      |
    | End-to-end type safety  | ✅      |
    | Data runtime validation | ✅      |
    | OpenTelemetry export    | ✅      |
    | Slack alerts on errors  | ✅      |
    | Integration status API  | ✅      |
  </Accordion>

  <Accordion title="✅ Customization">
    | Tools                              | Status                         |
    | ---------------------------------- | ------------------------------ |
    | Create or customize use-cases      | ✅                              |
    | Pre-configured pagination          | 🚫 (time to contribute: \<48h) |
    | Pre-configured rate-limit handling | 🚫 (time to contribute: \<48h) |
    | Per-customer configurations        | ✅                              |
  </Accordion>
</AccordionGroup>

### Releases

| Function name | Description                | Type                                           | Source code                                                                                                   |
| ------------- | -------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `releases`    | Sync releases from GitLab. | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/syncs/releases.ts) |

### Others

| Function name          | Description                                                                                                                                                                          | Type                                           | Source code                                                                                                                 |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `cancel-pipeline`      | Cancel a GitLab pipeline.                                                                                                                                                            | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/cancel-pipeline.ts)      |
| `create-branch`        | Create a branch in GitLab.                                                                                                                                                           | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/create-branch.ts)        |
| `create-commit`        | Create a commit in GitLab                                                                                                                                                            | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/create-commit.ts)        |
| `create-file`          | Create a GitLab repository file.                                                                                                                                                     | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/create-file.ts)          |
| `create-group`         | Create a group in GitLab.                                                                                                                                                            | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/create-group.ts)         |
| `create-issue`         | Create an issue in GitLab.                                                                                                                                                           | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/create-issue.ts)         |
| `create-merge-request` | Create a merge request in GitLab                                                                                                                                                     | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/create-merge-request.ts) |
| `create-project`       | Create a project in GitLab.                                                                                                                                                          | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/create-project.ts)       |
| `create-pipeline`      | Create a pipeline in GitLab.                                                                                                                                                         | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/create-pipeline.ts)      |
| `create-release`       | Create a release in GitLab.                                                                                                                                                          | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/create-release.ts)       |
| `delete-branch`        | Delete or archive a branch in GitLab.                                                                                                                                                | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/delete-branch.ts)        |
| `delete-file`          | Delete a GitLab repository file.                                                                                                                                                     | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/delete-file.ts)          |
| `delete-group`         | Delete or archive a group in GitLab.                                                                                                                                                 | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/delete-group.ts)         |
| `delete-issue`         | Delete or archive a issue in GitLab.                                                                                                                                                 | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/delete-issue.ts)         |
| `delete-merge-request` | Delete a merge request in GitLab.                                                                                                                                                    | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/delete-merge-request.ts) |
| `delete-pipeline`      | Delete a pipeline in GitLab. This permanently deletes the pipeline and all immediately related objects, such as builds, logs, artifacts, and triggers. This action cannot be undone. | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/delete-pipeline.ts)      |
| `delete-project`       | Delete or archive a project in GitLab.                                                                                                                                               | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/delete-project.ts)       |
| `delete-release`       | Delete a release in GitLab.                                                                                                                                                          | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/delete-release.ts)       |
| `get-branch`           | Retrieve a single branch from GitLab.                                                                                                                                                | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/get-branch.ts)           |
| `get-commit`           | Retrieve a single commit from GitLab.                                                                                                                                                | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/get-commit.ts)           |
| `get-file`             | Fetch a GitLab repository file.                                                                                                                                                      | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/get-file.ts)             |
| `get-group`            | Retrieve a single group from GitLab.                                                                                                                                                 | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/get-group.ts)            |
| `get-issue`            | Retrieve a single issue from GitLab.                                                                                                                                                 | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/get-issue.ts)            |
| `get-job`              | Retrieve a single job from GitLab.                                                                                                                                                   | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/get-job.ts)              |
| `get-merge-request`    | Retrieve a single merge request from GitLab.                                                                                                                                         | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/get-merge-request.ts)    |
| `get-pipeline`         | Retrieve a single pipeline from GitLab.                                                                                                                                              | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/get-pipeline.ts)         |
| `get-project`          | Retrieve a single project from GitLab.                                                                                                                                               | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/get-project.ts)          |
| `get-release`          | Retrieve a single release from GitLab.                                                                                                                                               | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/get-release.ts)          |
| `list-branches`        | List branches from GitLab.                                                                                                                                                           | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/list-branches.ts)        |
| `list-commits`         | List commits from GitLab.                                                                                                                                                            | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/list-commits.ts)         |
| `list-groups`          | List groups from GitLab.                                                                                                                                                             | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/list-groups.ts)          |
| `list-issues`          | List issues from GitLab                                                                                                                                                              | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/list-issues.ts)          |
| `list-jobs`            | List jobs from GitLab.                                                                                                                                                               | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/list-jobs.ts)            |
| `list-merge-requests`  | List merge requests from GitLab.                                                                                                                                                     | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/list-merge-requests.ts)  |
| `list-pipelines`       | List pipelines from GitLab.                                                                                                                                                          | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/list-pipelines.ts)       |
| `list-projects`        | List projects from GitLab.                                                                                                                                                           | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/list-projects.ts)        |
| `list-releases`        | List releases from GitLab.                                                                                                                                                           | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/list-releases.ts)        |
| `retry-job`            | Retry a GitLab CI job.                                                                                                                                                               | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/retry-job.ts)            |
| `update-file`          | Update a GitLab repository file.                                                                                                                                                     | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/update-file.ts)          |
| `update-group`         | Update a group in GitLab                                                                                                                                                             | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/update-group.ts)         |
| `update-issue`         | Update an issue in GitLab.                                                                                                                                                           | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/update-issue.ts)         |
| `update-merge-request` | Update a merge request in GitLab.                                                                                                                                                    | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/update-merge-request.ts) |
| `update-project`       | Update a project in GitLab.                                                                                                                                                          | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/update-project.ts)       |
| `update-release`       | Update a release in GitLab.                                                                                                                                                          | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/actions/update-release.ts)       |
| `branches`             | Sync branches from GitLab                                                                                                                                                            | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/syncs/branches.ts)               |
| `commits`              | Sync commits from GitLab.                                                                                                                                                            | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/syncs/commits.ts)                |
| `groups`               | Sync groups from GitLab.                                                                                                                                                             | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/syncs/groups.ts)                 |
| `issues`               | Sync issues from GitLab                                                                                                                                                              | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/syncs/issues.ts)                 |
| `jobs`                 | Sync jobs from GitLab.                                                                                                                                                               | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/syncs/jobs.ts)                   |
| `merge-requests`       | Sync merge requests from GitLab                                                                                                                                                      | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/syncs/merge-requests.ts)         |
| `pipelines`            | Sync pipelines from GitLab.                                                                                                                                                          | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/syncs/pipelines.ts)              |
| `projects`             | Sync projects from GitLab                                                                                                                                                            | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gitlab/syncs/projects.ts)               |

## Access requirements

| Pre-Requisites    | Status | Comment |
| ----------------- | ------ | ------- |
| Paid dev account  | ❓      |         |
| Paid test account | ❓      |         |
| Partnership       | ❓      |         |
| App review        | ❓      |         |
| Security audit    | ❓      |         |

## Setup guide

*No setup guide yet.*

<Tip>Need help getting started? Get help in the [community](https://nango.dev/slack).</Tip>

<Note>Contribute improvements to the setup guide by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/gitlab.mdx)</Note>

## Useful links

* [How to register an Application](https://docs.gitlab.com/ee/integration/oauth_provider.html)
* [OAuth-related docs](https://docs.gitlab.com/ee/api/oauth2.html#authorization-code-flow)
* [List of OAuth scopes](https://docs.gitlab.com/ee/integration/oauth_provider.html)
* [API](https://docs.gitlab.com/ee/api/rest/)

<Note>Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/gitlab.mdx)</Note>

## API gotchas

* GitLab webhook payloads do not contain a Nango connection ID, and a single connection can span many GitLab projects. To route a project or group webhook to a specific connection, append `?nangoConnectionId=<connectionId>` to the Nango webhook URL when registering the hook in GitLab. Nango reads the [`X-Gitlab-Event`](https://docs.gitlab.com/user/project/integrations/webhook_events/) header (for example, `Issue Hook`, `Merge Request Hook`, or `Note Hook`) as the event type. Configure a [signing token](https://docs.gitlab.com/user/project/integrations/webhooks/#signing-tokens) on the GitLab hook and store the same value as `webhookSecret` in the Nango connection's metadata. For GitLab versions before 19.0, configure a secret token and store it in the same metadata field; Nango falls back to validating `X-Gitlab-Token` when no signature is present.

<Note>Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/gitlab.mdx)</Note>
