Overview
nOps uses a GitLab.com access token (with theread_api scope) plus your top-level group to pull subscription, seat, and usage-quota data into Inform. The token is stored securely, validated before save, and is not shown again after you connect.
This integration targets GitLab.com SaaS (https://gitlab.com).
nOps reads:
- Subscription & plan — namespace plan tier and billable member count.
- Seats — billable members (paid seats) and per-member seat usage / last activity.
- Usage quotas — CI/CD compute minutes and storage (repository, LFS, artifacts, packages, container registry) at the group and project level.
Unlike some vendors, GitLab’s API returns usage quantities and seat counts, not billed dollar amounts — there is no per-line USD billing feed. nOps derives cost from your plan and reports seats, compute minutes, and storage; dollar figures come from your subscription pricing, not the API.
What token and access do I need?
GitLab is rolling out fine-grained personal access tokens, but the standard, broadly-supported choice for read-only reporting is a classic token (personal or group) with
read_api.Only nOps admins and owners can connect, re-validate, or disconnect. Members see Admin Only on connectable cards.
Cost inputs (collected at connect time)
The connect form collects the following (stored securely in Secrets Manager alongside your token). Only price per seat is important — GitLab bills are roughly seats × price, so that one number drives most of the cost:Without a price per seat, nOps still ingests seats, compute minutes, and storage as usage (cost $0). Add the seat price to turn on dollar reporting. All values can be updated later by re-connecting.
Create the token
Group access token (recommended)
- Sign in to GitLab.com as an Owner of your top-level group.
- Go to your group’s Settings → Access tokens.
- Create a token: set the role to Owner, select the
read_apiscope, and set an expiration. - Create the token and copy it immediately — it is shown only once.
Personal access token (alternative)
- Sign in to GitLab.com as a user who is an Owner of the top-level group.
- Go to Edit profile → Access → Personal access tokens.
- Select the
read_apiscope, set an expiration, and generate the token. - Copy the token immediately — it is shown only once.
Connect in nOps
Where to open GitLab
- To connect for the first time — go to Settings → Integrations and click the GitLab card.
- To manage an existing connection — go to Settings → Account Status → Connected apps and click the GitLab chip to re-validate or disconnect.
Connect steps
- Click the GitLab card or chip.
- Paste your access token (group access token or personal access token).
- Enter your top-level group path (for example
my-company) or numeric group ID. - Click Connect.
Manage your connection
Administrators can Re-validate or Disconnect from the modal. Rotate the token in GitLab before expiry and reconnect in nOps after rotation.Troubleshooting
- Invalid token — confirm the token has the
read_apiscope and has not expired. - No seat or usage data / 403 — the token needs the Owner role on the top-level group; a Maintainer token or a subgroup token cannot read seats or usage quotas.
- Wrong group — use the full top-level namespace path (for example
my-company) or the numeric group ID; subgroups are not supported for billing/usage. - No dollar amounts — expected: GitLab’s API returns usage and seat counts, not billed USD. nOps derives cost from your plan.
- No data in Inform — allow up to 24 hours after connecting for the first sync.
Security
Do not share the token or store it in public repositories. Prefer a group access token withread_api scoped to a single top-level group. Rotate before expiration and disconnect in nOps when rotating.