GitLab Integration
Connect your GitLab group to surface merge-request attribution and per-user productivity metrics alongside AI coding assistant usage in Revenium.
GitLab is supported for version-control attribution alongside GitHub. Connecting GitLab to Revenium adds output data — the merge requests your developers ship — to your AI coding metrics. Without a version-control integration, the dashboards measure AI assistant activity: sessions, tokens, cost. With GitLab connected, you can cross-reference that spend against what developers actually deliver, attributing merged merge requests to AI-assisted commits per developer.
Teams that host their code on GitLab now get merge-request attribution and per-user coding metrics, the same way GitHub-hosted teams get pull-request attribution.
What connecting GitLab adds
Once connected, Revenium builds a per-developer GitLab merge-request table. Each row maps a GitLab user to a Revenium user and shows:
GitLab User
The GitLab username the activity belongs to
MRs Merged
Total merge requests merged by this user in the selected period
MRs with Claude
Merge requests where at least one commit matches your AI co-author detection patterns
Mapped Email
The Revenium user this GitLab user is mapped to, by commit email
These let you ask: are high-spend developers also shipping the most? Which developers are getting the most delivered per dollar of AI spend?
Prerequisites
A GitLab personal access token with
read_apiandread_userscopesThe GitLab group that contains the projects you want to track
Developer commit emails that map to Revenium users, so per-developer activity can be attributed
Setting up the integration
Add GitLab from the Integrations page: open the GitLab card and choose to connect, which opens the Connect GitLab dialog. The dialog asks for:
Name — a label for the credential (for example,
my-company-gitlab).GitLab instance URL — leave the default for gitlab.com, or enter your self-managed instance URL (for example,
https://gitlab.company.com).Group path — the GitLab group containing your repositories (for example,
my-companyormy-company/engineering).Personal access token — a token with
read_apiandread_userscopes (glpat-...). The token is validated against GitLab before being stored, encrypted at rest, and never returned through the API.Allowed projects (optional) — restrict the integration to specific projects in
group/projectformat, one per line. Leave empty to scan all projects in the group. Useful when your token has broad access but you only want merge-request data from selected projects.AI co-author detection patterns — see below.
AI co-author detection patterns
Revenium identifies AI-assisted commits by matching patterns against the Co-Authored-By lines in commits. A merge request counts toward MRs with Claude when at least one of its commits matches a configured pattern. The default detects the standard Claude Code signature:
Add additional patterns, one per line, if your team uses different signatures.
Attribution across GitHub and GitLab
Both GitHub and GitLab are supported for version-control attribution. If your developers ship across both, connect each one: GitHub contributes pull-request attribution and GitLab contributes merge-request attribution, each matched to Revenium users by developer commit email.
Troubleshooting
No GitLab data appears after connecting:
The table reads "No GitLab merge request data available for this period" until a sync completes for the selected period — allow time for the initial sync
Confirm the token is valid and carries the
read_apiandread_userscopesConfirm the Group path is correct and the token can read that group's projects
MRs with Claude count is lower than expected:
A merge request counts only if at least one commit matches a Co-Authored-By detection pattern — not all coding-assistant sessions produce these, so check the commits in those merge requests
If you set Allowed projects, confirm the merge requests you expect are in the listed projects
A developer isn't attributed:
The Mapped Email links a GitLab user to a Revenium user. If a developer's commit email doesn't match a Revenium user, their activity won't be attributed — confirm the email mapping
Last updated
Was this helpful?