MergeMeMergeMe/Integrations

Self-hosted GitLab Slack integration

Self-hosted GitLab Slack notifications

Send merge request notifications from your own GitLab instance to Slack as one updating card per MR. MergeMe connects via webhook - no inbound access to your network required.

What is this?

MergeMe posts self-hosted GitLab merge request notifications to Slack as one updating card per MR. Status changes update the existing message in place. Review comments appear as thread replies, and GitLab @mentions can map to real Slack @mentions.

The problem with default GitLab Slack notifications

  • The official GitLab Slack app posts a new message for every merge request event
  • Busy channels fill up with duplicate MR posts as reviews progress
  • Hard to see MR status at a glance when messages scroll away
  • Self-hosted teams still need per-project webhook setup with basic integrations

How MergeMe helps

  • One Slack card per merge request, updated in place as the MR moves through review
  • Thread replies for GitLab review comments on the same card
  • Per-project channel routing - different GitLab projects to different Slack channels
  • Label routing to override the default channel when specific labels are present
  • User mapping so GitLab @mentions become Slack @mentions
  • Webhook payloads only - MergeMe does not read private source code

Setup overview (~10 minutes)

  1. Sign in at mergeme.dev and create a workspace with Self-Hosted GitLab as your main platform
  2. Connect Slack under Sources
  3. Copy your webhook URL and signing token from Sources → Self-hosted GitLab
  4. In GitLab: Settings → Webhooks on each project (or group on Premium/Ultimate) - paste URL and token, enable Merge request and Note events
  5. Add channel mappings in Routing → Channel mappings using each project ID
  6. Optionally map GitLab usernames to Slack users under Routing → User mappings

Full walkthrough: Install MergeMe for self-hosted GitLab.

FAQ

Does MergeMe need inbound access to my GitLab server?
No. Your GitLab instance sends outbound webhooks to MergeMe. MergeMe never connects into your VPC or firewall.
What GitLab events does MergeMe need?
Merge request events and note (comment) events. Register the webhook URL and signing token from the MergeMe dashboard on each project, or use group-level webhooks on GitLab Premium/Ultimate.
Can I mix self-hosted GitLab with GitLab.com or GitHub?
Yes. One MergeMe workspace can connect self-hosted GitLab, GitLab.com, and GitHub.com with per-source channel routing.
Does MergeMe read my source code?
No. MergeMe processes webhook payloads only. It does not clone repositories or read private code.

Start free on MergeMe

Hobby plan is free for small teams. Self-hosted setup takes about 10 minutes per project.