Skip to main content
Connect DevHelm to GitLab’s built-in Alert Management through an HTTP endpoint integration. DevHelm POSTs each incident to the endpoint GitLab generates; alerts appear under Operations → Alerts and can automatically open GitLab incidents if your project is configured to do so. Works with GitLab.com and self-hosted GitLab (13.1+). The endpoint URL must use HTTPS.

Setup

1

Create an HTTP endpoint integration in GitLab

You need at least the Maintainer role on the project.
  1. In your GitLab project, go to Settings → Monitor and expand the Alerts section
  2. Click Add new integration and select HTTP Endpoint as the integration type
  3. Name the integration and toggle Active on, then Save integration
  4. Open the View credentials tab and copy the URL and the Authorization Key
The URL looks like https://gitlab.com/{namespace}/{project}/prometheus/alerts/notify.json (or the equivalent path on a self-hosted instance).
2

Create the alert channel in DevHelm

devhelm alert-channels create \
  --name "GitLab Alerts" \
  --type gitlab \
  --config '{"channelType":"gitlab","endpointUrl":"https://gitlab.com/your-group/your-project/prometheus/alerts/notify.json","authorizationKey":"your-gitlab-authorization-key"}'
3

Test the channel

devhelm alert-channels test <channel-id>

Configuration

FieldDescriptionRequired
endpointUrlHTTP endpoint URL from the GitLab alert integration’s View credentials tabYes
authorizationKeyAuthorization key from the same integrationYes

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 eventGitLab action
Incident createdFires a new alert (monitoring_tool: DevHelm)
Incident resolvedSends end_time, so GitLab auto-resolves the matching alert
Incident reopenedFires the alert again under the same fingerprint
If your project links the integration to incident creation, GitLab opens (and can auto-close) an incident alongside the alert.

Troubleshooting

The endpoint URL must start with https://. Copy it exactly as shown in GitLab’s View credentials tab.
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.
  1. Confirm the integration’s Active toggle is on — a disabled integration rejects deliveries
  2. Use the integration’s Send test alert tab in GitLab to confirm the endpoint itself works, then run devhelm alert-channels test <id>
  3. On self-hosted GitLab, ensure the instance presents a valid SSL certificate, since DevHelm only posts over HTTPS