After this article
You will be able to connect a self-managed GitLab instance to Lumos to sync users, groups, group roles, projects, and project roles, then provision, deprovision, and review that access from Lumos.Capabilities
Because this connector works at the instance level, it can also create, block, and delete users directly on the instance.
Activity Tracking
Status: Supported for billable members only. Billable members are counted in your GitLab subscription. Lumos tracks last activity date (last_activity_on) and last login date (last_login_at). Non-billable members (free-tier, guest users) have no activity data through this integration.
Required plan and roles
- GitLab role: ensure you are an admin and owner in GitLab before you start. You must be an administrator to create a token usable by Lumos.
- Token type: a personal access token or a group access token, each with the
apiscope for full functionality. For a group access token, make sure it has access to the parent group you supply during setup. - Base URL: the connection requires your instance’s Account Base URL, including the schema.
Read-only access vs provisioning
Is read-only possible? No. GitLab Self-Hosted authenticates with a personal or group access token that requires theapi scope for full functionality, and no narrower read-only scope is described for this instance-level connector.
What full provisioning requires. A personal access token or group access token with the api scope, created by a GitLab administrator, plus your instance’s Account Base URL. Follow the steps below. A group access token must additionally have access to the parent group you supply during setup.
Watch out for. Because this connector works at the instance level, it can also create, block, and delete users directly on the instance, in addition to the group- and project-level actions available on the GitLab.com connectors. Custom member role sync still requires GitLab Ultimate, and activity tracking only covers billable members.
Instructions
Phase 1: Create an access token in GitLab- Log into your GitLab instance as an administrator.
- Go to User Settings → Access Tokens.
- Click Add new token.
- Give the token a name and select the
apiscope. - Click Create token, then copy the token value.
- For on-prem, make sure the GitLab Self-Hosted integration is available, then follow the steps in the Lumos UI.
- Find the GitLab Self-Hosted card in your Lumos integrations (reconnect an existing card or add a new one).
- Fill in the connection fields:
- Account Base URL: the unique identifier for your GitLab instance. Copy it from the browser while logged in. A correct base URL looks like
https://gitlab.<your-organization>.comor an IP address such ashttp://192.168.1.100:8080. Include the schema (https://orhttp://). Port numbers and a base path are supported. - GitLab Token: the personal access token or group access token from Phase 1. The
apiscope is required in both cases. - Parent Group: the parent group slug to scope this connector instance to. This is the slug that appears in GitLab URLs. For example, if your group URL is
https://gitlab.com/my-org, usemy-org. For a subgroup athttps://gitlab.com/my-org/team-a, the parent group ismy-org. This connector instance only has access to subgroups and projects nested under this parent group. - Sync only billable users: by default Lumos fetches all users. Check this option to sync only billable users.
- Account Base URL: the unique identifier for your GitLab instance. Copy it from the browser while logged in. A correct base URL looks like
- Complete the connection.
API Endpoints Used
Troubleshooting
Can’t connect the integration. Confirm the Account Base URL includes the schema (https:// or http://) and points at your instance, and that the token carries the api scope. For a group access token, verify it has access to the parent group you entered.
Only some users appear. By default Lumos fetches all users. If “Sync only billable users” is checked, non-billable users are excluded by design.
No activity data for some users. Activity tracking covers billable members only. Free-tier and guest users have no activity data.
Connecting hangs and then errors. Usually the instance base URL is unreachable from Lumos (behind Zscaler, a VPN, or IP restrictions), so the request silently times out and surfaces as a generic error after a delay. Allowlist the Lumos outbound IP addresses (see the Lumos IP addresses Help Center article) so Lumos can reach your GitLab instance.