MergeMeMergeMe/Docs

Routing

Label routing

Send PRs/MRs to different Slack channels based on labels present when the card is first posted. Configure label rules per channel mapping in the dashboard.

Where to configure

  1. Open Routing > Channel mappings.
  2. Find the project or repository row.
  3. Click the cog on that row to open Label routing.

Owners and admins can edit rules. Members can view mappings but not change label routing.

Channel mapping row showing bug and documentation label rules routing to #bugs and #documentation, with Labels only enabled
Example mapping: default channel #frontend-reviews, with bug and documentation labels overriding to other channels. The Labels only badge means PRs/MRs without a matching label are not posted.

How rules work

Each mapping has a default Slack channel. Label rules optionally override that channel when a matching label is present on the PR/MR at first post.

You can add up to 5 rules per mapping. Each rule pairs one label with a Slack channel. Drag rows to set priority - when a PR/MR has multiple matching labels, the top rule wins.

Label matching is case-insensitive and ignores extra whitespace. The rule label must match a label on the PR/MR exactly (not a substring).

Prevent default posting

Enable Prevent default posting when you only want Slack notifications for PRs/MRs that match a label rule. If no rule matches at first post, MergeMe will not post to the default channel.

With this off, a PR/MR with no matching rule still posts to the mapping's default channel.

When routing is evaluated

Label routing runs once, when MergeMe creates the Slack card for a PR/MR. After that, the message stays in the channel it was posted to - changing labels later does not move it or re-route it.

Example: a PR/MR opened without a matching label and skipped because of Prevent default posting can still post later if you close and reopen it (or mark it ready for review) with matching labels - as long as a Slack card was never created before.

Adding or changing labels on an already-open PR/MR does not trigger a new routing decision. Use reopen or draft > ready for review if you need another first-post attempt.

GitHub and GitLab.com

MergeMe loads labels from the provider when you open the label picker. Search and pick the label from the list so the name matches what git sends in webhooks.

GitLab Self-Hosted

Label lists are not fetched from self-hosted instances. Type the label name exactly as it appears on your GitLab MR (case does not matter for matching).

See also Routing preferences for workspace-wide filters, and the FAQ for channel mapping basics.