MergeMe logoMergeMe
Published on

How to show GitHub and GitLab CI status on Slack PR and MR cards

Authors
  • Name
    Maruan

Reviewers often open a GitHub pull request or GitLab merge request in Slack, then bounce to GitHub Actions or GitLab pipelines to see whether CI is green. That extra tab is easy to miss when the channel is already noisy.

MergeMe can put a CI rollup line on the same Slack card that already tracks the PR or MR. The line updates in place as checks and pipelines run. It works for GitHub.com, GitLab.com, and self-hosted GitLab in one workspace.

The problem: CI lives in a different tab

Official GitHub and GitLab Slack apps post a new message for every event. Pipeline and check updates often land as yet more messages, or they never show up next to the review at all.

That creates two bad options:

  • Reviewers approve before CI finishes, then watch the pipeline fail
  • Reviewers ignore Slack and live in the git host instead

Neither is great for code review in Slack. You want one place that answers: is this request open, who opened it, and is CI still running?

One updating card, plus a CI line

MergeMe already posts one updating card per pull request or merge request. Status changes (opened, approved, merged, closed) edit that message. Comments go to the thread.

When Show CI status on Slack cards is on, MergeMe adds a rollup line to that same card, for example:

  • CI: Running (2/3)
  • CI: Passed (3/3)
  • Optional CI: Passed (1/1) when non-blocking checks exist

The line is display-only. It does not change review status, card colour, or thread behaviour, and it does not post extra Slack messages for every pipeline tick.

If CI data is missing (no pipeline yet, a stale commit, or missing GitHub permissions), MergeMe hides the row instead of showing an error.

MergeMe shows GitHub and GitLab CI pipeline status on the same Slack PR card

How to turn it on

The toggle lives under Routing → Preferences. It applies to every mapped GitHub repo and GitLab project in the workspace.

  1. Connect Slack and at least one git source (GitHub setup, GitLab.com setup, or self-hosted GitLab setup).
  2. Add a channel mapping so events have a Slack destination.
  3. Open Routing → Preferences.
  4. Enable Show CI status on Slack cards.
  5. Open or update a PR/MR so a check or pipeline webhook can populate the line.

Full reference: routing preferences.

What each git host needs

Git sourceWhat MergeMe needsThen
GitHub.comChecks: Read and Commit statuses: Read on the GitHub AppEnable the preference. GitHub may prompt you to approve these after an app update. If you skip the prompt, cards keep working without the CI line.
GitLab.comPipeline events on mapped projects (registered automatically)Enable the preference, then open or update an MR so a pipeline webhook can populate the line.
GitLab self-hostedPipeline events on the group or project webhook, in addition to merge request and comment eventsEnable the preference after the webhook includes pipeline events.

GitHub Actions uses check runs. Older CI (Jenkins and similar) often uses commit statuses. MergeMe reads both.

A mixed team can show CI for a GitHub frontend PR and a GitLab backend MR in the same Slack workspace. Each mapping still posts to its own channel.

Official Slack apps vs MergeMe CI on the card

Official GitHub / GitLab Slack appsMergeMe
Messages per PR/MRNew message for every eventOne card, updated in place
CI next to the reviewNot on the same updating cardOptional rollup line (CI: Running (2/3))
Extra Slack noise from CIOften more messages, or no status at allNo extra messages; the line edits in place
GitHub + GitLab in one workspaceNoYes

CI status is included on the Hobby plan (free: 1 channel mapping, 5 user mappings). See pricing.

FAQ

Does MergeMe show CI status on Slack cards?

Yes, when you enable Show CI status on Slack cards under Routing → Preferences. MergeMe adds a rollup line for GitHub checks and GitLab pipelines, for example CI: Running (2/5).

Does CI status post a new Slack message every time a job finishes?

No. The CI line updates the existing card. MergeMe does not post a separate Slack message or thread reply for each pipeline or check event.

Does MergeMe support both GitHub and GitLab in one workspace?

Yes. Connect GitHub.com, GitLab.com, and self-hosted GitLab in the same workspace. The CI preference is workspace-wide; each channel mapping still routes that repo or project to its Slack channel.

Does this work with self-hosted GitLab?

Yes. Enable Pipeline events on the webhook (in addition to merge request and comment events), then turn on the preference. See the self-hosted GitLab setup guide.

What if GitHub asks me to approve extra permissions?

Approve Checks: Read and Commit statuses: Read if you want the CI line. If you skip that prompt, pull request cards keep working; the CI line just will not appear. MergeMe does not request write access to checks or source code.

Does MergeMe read my source code?

No. MergeMe processes webhook payloads (PR/MR metadata, comments, and CI check or pipeline status). It cannot and does not clone repositories.

Get started

Turn the line on, wait until CI: Passed, then review. The card is already in Slack.