- Link AppSignal to your GitLab repository, so AppSignal knows where your code lives.
- Link backtraces to revisions and lines, so every backtrace line opens the code that shipped.
- Create GitLab issues for incidents, straight from an incident’s details screen.
GitLab offers several ways to connect to third-party tools. AppSignal connects
using a GitLab personal access token and your project URL, which is
supported on GitLab.com, GitLab Self-Managed, and GitLab Dedicated. GitLab also
offers OAuth applications, but AppSignal does not support connecting to GitLab
over OAuth yet.
Link AppSignal to your GitLab repository
Step 1. Create a GitLab personal access token
- Sign in to GitLab and go to your user Settings.
- In the left sidebar, select Access tokens, then open Personal access tokens (
https://gitlab.com/-/user_settings/personal_access_tokenson GitLab.com). - Select Add new token. GitLab lets you create either a fine-grained or a legacy personal access token. Choose legacy, because its scopes map directly to what AppSignal needs.
- Fill in:
- Token name:
AppSignal - Expiration date: pick a date that matches your organization’s policy.
- Scopes: select
read_api,read_repository, andapi. AppSignal needs all three.
- Token name:
- Select Create personal access token and copy the token immediately. GitLab only shows it once.
Fine-grained tokens may also work, but their resource permissions are far more
granular and it is not obvious which combination to select. We’re planning to
move this integration to GitLab OAuth applications, the more recent way to
connect third-party tools to GitLab.
Step 2. Add the integration in AppSignal
- In AppSignal, open the app you want to connect.
- Go to App settings → Integrations → GitLab.
- 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 GitLab Self-Managed, use your instance hostname, e.g.https://gitlab.example.com/your-group/your-project.
- Select create integration.
Step 3. Repeat for each user
Because this is a personal integration, every teammate who wants source links, backtrace links, or issue creation to work in their own AppSignal account must repeat Steps 1 and 2 with their own GitLab token.Link backtraces to revisions and lines
Codebases change constantly, so a backtrace is most useful when it points at the revision that was deployed when the error happened. Connecting GitLab fills in the Repo URL for your app, so you don’t have to set it by hand. You can confirm it under App settings → General, where the field holds your GitLab project URL. AppSignal detects the provider from that URL and builds the matching backtrace and comparison links. Once deploy markers report the deployedrevision, AppSignal links each backtrace line to the matching revision, path, and line in your GitLab repository, so you can go from an error to the code that shipped it. For the full setup, see the backtrace links documentation.
Create GitLab issues for incidents
AppSignal does not create GitLab issues automatically, to prevent story-overload. To create one for an error incident:- Open the error incident’s details screen.
- In the Actions panel, select Send to GitLab.
api scope alongside the read scopes, described in Step 1.
Deploy markers from GitLab CI/CD
To report deployments to AppSignal from a GitLab CI/CD pipeline, see the deploy markers documentation for the recommendedrevision config option approach, or the Markers API example if your stack does not include an AppSignal integration.
Troubleshooting
Sending an incident to GitLab fails. A token with read-only scopes connects successfully but cannot create issues. Confirm the token hasapi as well as read_api and read_repository. Because scopes can’t be edited after a token is created, create a new legacy token with all three and update the integration in AppSignal.
AppSignal reports the GitLab integration as invalid.
Check which scopes the token actually has. read_registry and read_repository sit next to each other in GitLab’s scope list, and a token that grants read_registry instead of read_api cannot read your project.
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.