GitLab
Connect GitLab to Proval with a personal access token and project webhook.
Connect GitLab to Proval with a personal access token, the Proval dashboard forms, and a project webhook.
External network. If GitLab reaches Proval over the public internet, use
https://(reverse proxy in front of port 7901). Internal LANhttp://is fine for many self-hosted setups.
Prerequisites
- Quick Start completed. Proval is running
- A model provider configured in Proval
- GitLab can reach Proval on port 7901 (Network)
Step 1: Personal access token
- Preferences → Access Tokens
- Create a token with the
apiscope
Step 2: Connect in Proval
GitLab connection
- Dashboard → Git Provider → Add GitLab connection
- Fill in the form
- Test Connection, then save
Repository
- Repositories → Add repository
- Fill in the form
- Create
Use the same webhook secret in Step 3.
Step 3: Project webhook
http://<your-server>:7901/webhook/gitlab
Use https:// when TLS terminates before Proval. LAN http:// may require allow internal webhooks.
- Project → Settings → Webhooks
- Fill in the form
- Enable:
- Merge request events
- Comments
- Issues events
Merge request events include open, reopen, and update (push or draft to ready). Proval reviews on first push or every push per repository settings, and skips draft MRs until they become ready.
Allow internal HTTP webhooks
When GitLab and Proval are on a private LAN with plain http://:
- Admin → Settings → Network → Outbound requests
- Enable Allow requests to the local network from webhooks and integrations, or add Proval's IP to the allowlist
See GitLab: Filtering outbound requests.
Troubleshooting
- 401 — secret does not match Proval
- 404 — repository not registered in Proval
- Blocked / local network — Allow internal webhooks
- No review — GitLab cannot reach port 7901, or events not enabled
- Test connection fails — invalid token, wrong base URL, or missing
apiscope