GitLab activity, live in Discord
Pushes, merge requests, pipeline results — posted to your server as they happen.
No paid bot, no separate automation subscription.
The gap this fills: GitLab ships with a built-in Slack integration, but nothing for
Discord — the platform many dev teams and open-source projects actually run their community on.
ZestyGlue is the missing piece, for $9/month instead of building and hosting your own bot.
What it looks like
ZestyGlue
GitLab — Push
myorg/myrepo
· Fix login redirect bug
· Bump dependency versions
by Jane Doe
A real push event, exactly as it arrives in your Discord channel.
Setup — about two minutes
- Create the connector. In ZestyGlue, start a new GitLab → Discord connector. You'll
get a unique webhook URL right away.
- Point GitLab at it. In your project (or group) go to Settings → Webhooks,
paste in your ZestyGlue webhook URL, and pick which trigger events to send.
- Set the secret token. GitLab lets you set a Secret token on the webhook — use the
same one you enter into ZestyGlue's connector setup, so events can be verified as genuinely
from your project.
- Point Discord at ZestyGlue. In your target channel, go to Edit Channel →
Integrations → Webhooks → New Webhook, copy its URL, and paste it into ZestyGlue.
Under the hood: unlike Stripe or Shopify, GitLab doesn't sign its payloads with HMAC —
it sends a plain secret token in the X-Gitlab-Token header instead. ZestyGlue checks
it with a constant-time comparison, so a timing attack can't be used to guess your token
character by character.
Events you can forward
push
merge_request
issues
note (comments)
tag_push
pipeline
wiki_page
deployment
release
Questions
Can I forward events from a whole GitLab group, not just one project?
Yes — GitLab supports group-level webhooks (Settings → Webhooks at the group level),
which fire for every project inside that group. Point it at the same ZestyGlue URL and
every project's activity flows to the same Discord channel.
Will this show CI/CD pipeline failures?
Yes. Enable Pipeline events in the GitLab webhook configuration and ZestyGlue posts every
status change. Many teams run a second connector into a separate channel just for pipeline
failures, kept apart from regular push and merge request noise.
Does this work with self-hosted GitLab?
Yes, as long as your GitLab instance can reach zestyglue.com over the internet to deliver
the webhook. Self-managed instances fully isolated behind a firewall would need outbound
access enabled first.
How is my GitLab secret token stored?
Encrypted at rest, never logged, and never redisplayed in the dashboard after you enter
it — only a masked placeholder is shown.