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

  1. Create an endpoint in the Webhooky app (Android / iOS) – “GitLab”, own sound and color.
  2. 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.

Get it on Google Play Download on the App Store