View as Markdown

Merge Protections

Go beyond GitHub's native branch protections and craft custom, advanced rules using Mergify.


Mergify Merge Protections extend GitHub’s native Branch Protections & Rulesets with fine-grained, dynamic rules.

Merge Protections let you:

  • Enforce advanced success criteria on pull requests (title patterns, labels, CI signals, file changes, authorship, etc.)

  • Express dependencies between pull requests (block merge until others are merged)

  • Schedule when merges may occur (or enforce freezes)

  • Provide consistent, explainable feedback via a single check

Merge Protections comment

Why use Merge Protections instead of only GitHub rulesets?

Section titled Why use Merge Protections instead of only GitHub rulesets?
Capability GitHub Native Mergify Merge Protections
Conditional logic (complex AND/OR on PR metadata) No Extensive
Depends-On relationships No Yes
Time / schedule based merge windows No Yes
Repository freeze (manual or scheduled) No Yes
Single composite check gate Partial Yes
  1. You enable Merge Protections in the dashboard.

  2. A single Mergify Merge Protections check appears on every PR, or a deployment of the same name if you set reporting_method: deployments.

  3. Your protection rules determine whether that check passes.

  4. Mergify won’t merge a PR until all of its active protection rules succeed, whether the merge comes from the merge queue, Auto-Merge, or the merge action.

  5. To block merges made outside Mergify too, mark the check as required in GitHub Branch Protection or Rulesets.

The feature is composed of several building blocks documented in dedicated pages:

Was this page helpful?