---
title: Enabling & Configuring Merge Protections
description: How to enable Merge Protections, pick a reporting method, and decide whether the check needs to be required in GitHub.
---

## Enable in the Dashboard

1. Go to the [Mergify dashboard](https://dashboard.mergify.com)
2. Click the `Merge Protections` section
3. Select your repository
4. Enable the feature and create rules

<Image src={mainScreen} alt="Merge Protections rules for a repository" />

## Reporting Method: check-runs vs deployments

You can configure how Merge Protections report their status to GitHub using the
`reporting_method` option in your configuration. This controls whether the
protection status appears as a GitHub Check Run or as a Deployment.

- `check-runs` (default): Reports the protection status as a standard GitHub
  check on the pull request. This is the most common and compatible method.

  <Image src={requiredChecksScreen} alt="GitHub required checks" />

- `deployments`: Reports the protection status as a GitHub Deployment. This can
  be useful if your workflow or compliance requirements rely on deployment
  status.

  <Image src={deployScreenshot} alt="Merge Protections deploy success" />

Example configuration:
```yaml
merge_protections_settings:
  reporting_method: check-runs  # or deployments
  # Post a comment with details about required rules
  post_comment: true
  # Automatically merge or queue PRs when all protections pass
  auto_merge_conditions: true
```

Choose the method that best fits your integration and compliance needs.

### Auto-Merge

The `auto_merge_conditions` option automatically merges or queues pull
requests when all merge protection `success_conditions` pass. It accepts
`true` for unconditional auto-merge or a list of conditions to restrict the
audience. Auto-merge is disabled when the field is omitted.

See [Auto-Merge](/merge-protections/auto-merge) for the full behavior
reference and configuration examples.

## Make the Check Required

Enabling inserts a check named `Mergify Merge Protections` on each pull
request, or a deployment of the same name if you set
`reporting_method: deployments`.

Mergify enforces your protections on every merge it performs itself, whether it
comes from the [merge queue](/merge-queue),
[Auto-Merge](/merge-protections/auto-merge), or the
[`merge` action](/workflow/actions/merge): it won't merge a pull request until
all of its active merge protections succeed. You don't have to require the
check in GitHub for that to happen.

Requiring it in GitHub is what blocks a merge that doesn't go through Mergify:
someone clicking GitHub's merge button, or another tool calling GitHub's merge
API. Unless every merge on the repository goes through Mergify, mark the result
as required, as a check or as a deployment depending on your reporting method:

- GitHub Branch Protection: Settings → Branches → Add/Edit rule → Require
  status checks / deployment to succeed → select `Mergify Merge Protections`

- GitHub Rulesets: Settings → Rules → Select ruleset → Add required status
  check / deployment to succeed → `Mergify Merge Protections`

<Image src={bpScreen} alt="GitHub Branch Protection" />

When an active protection fails, the check explains why in its output, and in a
summary comment unless you set `post_comment: false`.

## Updating Rules

- Safe to edit live; re-evaluations happen automatically.
- Renaming a rule only changes display text; logic is defined by the condition blocks.
- Remove obsolete rules to keep explanations short.
