Setup
Create an HTTP endpoint integration in GitLab
You need at least the Maintainer role on the project.
- In your GitLab project, go to Settings → Monitor and expand the Alerts section
- Click Add new integration and select HTTP Endpoint as the integration type
- Name the integration and toggle Active on, then Save integration
- Open the View credentials tab and copy the URL and the Authorization Key
https://gitlab.com/{namespace}/{project}/prometheus/alerts/notify.json (or the equivalent path on a self-hosted instance).Configuration
| Field | Description | Required |
|---|---|---|
endpointUrl | HTTP endpoint URL from the GitLab alert integration’s View credentials tab | Yes |
authorizationKey | Authorization key from the same integration | Yes |
Lifecycle behavior
GitLab uses a trigger-resolve lifecycle, keyed on a per-incident fingerprint (devhelm-<incident id>) so repeated events about the same incident map to the same GitLab alert:
| DevHelm event | GitLab action |
|---|---|
| Incident created | Fires a new alert (monitoring_tool: DevHelm) |
| Incident resolved | Sends end_time, so GitLab auto-resolves the matching alert |
| Incident reopened | Fires the alert again under the same fingerprint |
Troubleshooting
Channel creation fails with an HTTPS error
Channel creation fails with an HTTPS error
The endpoint URL must start with
https://. Copy it exactly as shown in GitLab’s View credentials tab.GitLab returns 401 or 403
GitLab returns 401 or 403
The authorization key doesn’t match the integration. Re-copy it from Settings → Monitor → Alerts → (your integration) → View credentials, and make sure you paired it with the URL from the same integration.
Alerts aren't appearing in GitLab
Alerts aren't appearing in GitLab
- Confirm the integration’s Active toggle is on — a disabled integration rejects deliveries
- Use the integration’s Send test alert tab in GitLab to confirm the endpoint itself works, then run
devhelm alert-channels test <id> - On self-hosted GitLab, ensure the instance presents a valid SSL certificate, since DevHelm only posts over HTTPS