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

# GitLab

> Connect AppSignal to your GitLab project to view source and link revisions, and report deploys from GitLab CI/CD.

Tools for modern developers.

GitLab unifies issues, code review, CI and CD into a single UI.

The GitLab integration links AppSignal back to your GitLab repository (view source for an exception, open a commit, etc.). It is a **personal integration**: each user who wants to use it must complete these steps for themselves on every AppSignal app.

<Tip>
  GitLab does not have a one-click AppSignal integration on the GitLab side. The
  setup below uses a GitLab personal access token, which is officially supported
  on GitLab.com, GitLab Self-Managed, and GitLab Dedicated. This integration
  **does not automatically create issues on GitLab**, to prevent story-overload.
</Tip>

Website: [https://gitlab.com](https://gitlab.com)

## Step 1. Create a GitLab personal access token

1. Sign in to GitLab and go to your user **Settings**.
2. In the left sidebar, select **Access tokens** (`https://gitlab.com/-/user_settings/personal_access_tokens` on GitLab.com).
3. Select **Add new token** and fill in:
   * **Token name**: `AppSignal`
   * **Expiration date**: pick a date that matches your organization's policy.
   * **Scopes**: select the minimum scopes AppSignal needs to read your project:
     * `read_api` — read-only access to the GitLab API (project metadata, commits, files).
     * `read_repository` — read-only access to repository contents over Git/HTTP.
4. Select **Create personal access token** and **copy the token immediately**. GitLab only shows it once.

<Tip>
  Use `read_api` + `read_repository` rather than the broad `api` scope.
  AppSignal only needs to read project information, not write to it.
</Tip>

## Step 2. Add the integration in AppSignal

1. In AppSignal, open the app you want to connect.
2. Go to **App settings → Integrations → GitLab**.
3. Fill in the form:
   * **Token**: paste the personal access token you created in Step 1.
   * **GitLab URL**: the full URL to the GitLab project, for example `https://gitlab.com/your-namespace/your-project`. For self-managed GitLab, use your instance hostname, e.g. `https://gitlab.example.com/your-group/your-project`.
4. Select **create integration**.

You can return to this page at any time to **update integration** or **remove integration**.

## Step 3. Repeat per user

Because this is a personal integration, every teammate who wants source links to resolve in their AppSignal account must repeat Steps 1–2 with their own GitLab token.

## Deploy markers from GitLab CI/CD

To report deployments to AppSignal from a GitLab CI/CD pipeline, see the [deploy markers documentation](/application/markers/deploy-markers#gitlab-support) for the recommended `revision` config option approach, or the [Markers API example](/application/markers/deploy-markers#gitlab-cicd-example) if your stack does not include an AppSignal integration.

## Troubleshooting

**Source links in AppSignal don't open the correct file.**
Re-open **App settings → Integrations → GitLab** in AppSignal and confirm the GitLab URL points to the project root (e.g. `https://gitlab.com/namespace/project`) and not to a subpath, branch, or `.git` URL.

<hr />

### Integrations list

* [Asana](/application/integrations/asana)
* [Discord](/application/integrations/discord)
* [Geckoboard](/application/integrations/geckoboard)
* [GitLab](/application/integrations/gitlab)
* [Google Hangouts Chat](/application/integrations/hangouts)
* [Jira](/application/integrations/jira)
* [Linear](/application/integrations/linear)
* [Microsoft Teams](/application/integrations/teams)
* [OpsGenie](/application/integrations/opsgenie)
* [PagerDuty](/application/integrations/pagerduty)
* [Shortcut](/application/integrations/shortcut)
* [Slack](/application/integrations/slack)
* [Squadcast](/application/integrations/squadcast)
* [Trello](/application/integrations/trello)
* [Webhooks](/application/integrations/webhooks)
