SigSentrySigSentry

GitLab

Connect GitLab.com or self-hosted GitLab using OAuth or a personal access token

GitLab supports two auth methods: OAuth 2.0 (recommended) or a personal access token. OAuth supports automatic token refresh when the access token expires; PATs are simpler but require manual rotation.

Click "Connect GitLab via OAuth"

In the dashboard under Project → Code Repos → Connect repository → GitLab → OAuth, you'll be redirected to GitLab's OAuth consent page.

Authorize the requested scopes

GitLab asks you to authorize SigSentry with these scopes:

ScopeWhy
read_apiRead API access (project metadata, MRs)
read_repositoryRead file contents and commit history

Click Authorize.

Return to SigSentry

GitLab redirects back. OAuth tokens are stored encrypted and refreshed automatically before they expire.

Configure repos

FieldValue
RepositoriesOne per line, in group/project format (or group/subgroup/project)
Lookback daysDefault 30

Save

Click Save. Run an analysis to confirm code correlation works.

Fallback: Personal Access Token

Generate a Personal Access Token

In GitLab, User Settings → Access Tokens → Add new token.

SettingValue
Token namesigsentry-readonly
ExpirationSet a real expiration; rotate periodically
Scopesread_api and read_repository

Click Create personal access token and copy it — shown only once.

Add in SigSentry

Project → Code Repos → Connect repository, pick GitLab and Personal Access Token.

FieldValue
Personal access tokenThe PAT you generated
RepositoriesOne per line, group/project format
Lookback daysDefault 30

Save

Click Save.

Self-hosted GitLab

If you're running GitLab self-hosted (Community or Enterprise edition), add the Base URL field with your instance URL — e.g. https://gitlab.company.com. The OAuth and PAT flows both support self-hosted; the difference is just the host.

For self-hosted, the OAuth callback URL needs to be allowlisted in your GitLab admin. Contact your GitLab admin to add SigSentry's callback URL to the allowed list.

How tokens are refreshed

OAuth tokens refresh automatically as needed. If your refresh token expires (rare, but possible on some GitLab setups), SigSentry shows a "needs re-authorization" prompt in the dashboard.

PATs don't refresh automatically — set a real expiration and rotate manually.

Revoking access

ForAction
OAuthGitLab → User Settings → Applications → revoke SigSentry
PATGitLab → User Settings → Access Tokens → revoke

Troubleshooting

ErrorFix
401 UnauthorizedToken expired or invalid; re-authorize
403 ForbiddenToken lacks read_repository scope
404 Not FoundProject name typo or path wrong; for self-hosted, check the Base URL
Slow PR diffsLarge MRs can take time; the API doesn't expose file stats so we parse the full diff