GitLab events as push notifications
July 23, 2026 · 3 min read
Like GitHub, GitLab offers two complementary routes to your phone: project webhooks for events, and a tiny CI job for pipeline results with your own words – on gitlab.com and self-managed instances alike.
Route 1: the project webhook
- Create an endpoint in the Webhooky app (Android / iOS) – “GitLab”, own sound and color.
- In your project: Settings → Webhooks, URL = your endpoint, then tick the triggers (push events, pipeline events, merge request events …).
GitLab sends JSON with an object_kind field but no title/message – so the push uses your endpoint's default texts. Fine for “something happened in the repo”; for readable pipeline alerts use route 2.
Route 2: a notify job in .gitlab-ci.yml
notify_failure:
stage: .post
when: on_failure
script:
- >
curl -X POST "$WEBHOOKY_URL"
-H "Content-Type: application/json"
-d "{"title":"🚨 Pipeline failed: $CI_PROJECT_NAME","message":"Branch $CI_COMMIT_REF_NAME · $CI_PIPELINE_URL","sound":"error_1"}"
Put the endpoint URL into a masked CI/CD variable (WEBHOOKY_URL). A twin job with when: on_success and a friendly sound closes the loop.
Notes
- Self-managed GitLab behaves identically – the webhook just needs outbound HTTPS.
- Noise control: subscribe the webhook only to pipeline events and let the CI job carry the texts – one push per pipeline, not per push.
- Coming from GitHub? The GitHub version of this guide.
Get Webhooky
Free for your first 100 notifications – set up your endpoint in two minutes.