GitLab Setup

Connect SiftPulse to your GitLab namespace to get automated AI merge request reviews on every MR — the same review quality as GitHub, now for GitLab Cloud and self-hosted instances.

What you'll get: SiftPulse posts a structured code review note within 60 seconds of every MR opened or updated. Re-reviews on push edit the note in place — no comment spam.

Connect Method

Choose the method that fits your setup:

Option A — OAuth (recommended for gitlab.com) Option B — Personal Access Token (self-hosted or restricted)

Option A — OAuth App (gitlab.com)

1
Register a GitLab OAuth Application
Go to gitlab.com → Edit profile → Applications (or your Group → Settings → Applications for a group-scoped app).

Fill in:
  • Name: SiftPulse
  • Redirect URI:
https://siftpulse.polsia.app/integrations/gitlab/callback
  • Confidential: Yes (check the box)
2
Select the required scopes
ScopeWhy SiftPulse needs it
apiPost and edit MR notes; fetch diff; manage webhooks
read_userRead user email for dashboard login
read_repositoryRead repository contents and diffs
3
Copy your Application ID and Secret
After saving, GitLab displays an Application ID and Secret. Copy both.
4
Set environment variables
Environment variableValue
GITLAB_CLIENT_IDApplication ID from the OAuth app
GITLAB_CLIENT_SECRETSecret from the OAuth app
GITLAB_WEBHOOK_SECRETAny long random string — used to verify webhook payloads
GITLAB_ENABLEDtrue — feature flag that activates the integration
5
Connect your namespace
Click below to start the OAuth flow:
Connect GitLab namespace →

Option B — Personal Access Token (self-hosted / PAT fallback)

1
Create a Personal Access Token
In GitLab: Edit profile → Access Tokens → Add new token.

Required scopes:
  • api — post and edit MR notes, register webhooks
  • read_user — fetch your email for the dashboard
  • read_repository — read MR diffs
Token names start with glpat-.
2
Connect via PAT form
Enter your PAT (and optionally your self-hosted GitLab URL) at the link below:
Connect via Personal Access Token →

Step — Register Webhooks on your Projects

SiftPulse watches for Merge Request Hook events. Add a webhook to each GitLab project you want reviewed:

1
Open project settings
Navigate to Project → Settings → Webhooks → Add new webhook
2
Configure the webhook
  • URL:
https://siftpulse.polsia.app/webhooks/gitlab
  • Secret token: value of GITLAB_WEBHOOK_SECRET
  • Trigger: check Merge request events
  • SSL verification: Enabled

How it works

Troubleshooting

OAuth flow returns an error — check that GITLAB_CLIENT_ID, GITLAB_CLIENT_SECRET, and GITLAB_ENABLED=true are set. Ensure the redirect URI exactly matches https://siftpulse.polsia.app/integrations/gitlab/callback.

No review note appears — verify the webhook is registered on the project with the correct URL and triggers. Check that GITLAB_WEBHOOK_SECRET matches the token you entered in GitLab. Review Render logs for [gitlab] prefixed lines.

PAT auth fails — confirm the token has api scope and hasn't expired. GitLab PATs show their expiry in Edit profile → Access Tokens.

Self-hosted GitLab — use the PAT method and enter your instance URL (e.g. https://gitlab.example.com). Make sure your instance is reachable from SiftPulse's Render deployment (public HTTPS endpoint required).