View as Markdown

Post Check (Deprecated)

Create a check-run on a pull request. Deprecated in favor of Merge Protections.


Migrating to Merge Protections

Section titled Migrating to Merge Protections

Merge Protections replace post_check by letting you define success_conditions directly, without creating an intermediate check-run.

pull_request_rules:
- name: Check CI status
conditions:
- base=main
actions:
post_check:
success_conditions:
- check-success=ci/test
neutral_conditions:
- check-neutral=ci/lint
title: "Mergify check: {{ check_rule_name }}"
summary: |
{{ check_conditions }}
merge_protections:
- name: Check CI status
if:
- base=main
success_conditions:
- or:
- check-success=ci/test
- check-neutral=ci/lint

The post_check action allows Mergify to create a check-run on a pull request. This can be useful in situations where you want to add a custom check to the status of a pull request based on Mergify’s evaluation.

A post_check check-run in a GitHub pull request's checks list, flagging a title that breaks Conventional Commit
neutral_conditions#

List of conditions

or null·defaultnull

List of conditions to match to mark the pull request check as neutral, otherwise, it will be marked as failing.

success_conditions#

List of conditions

or null·defaultnull

List of conditions to match to mark the pull request check as succeeded, otherwise, it will be marked as failing. If unset, the conditions from the rule that triggers this action are used.

summary#template·default"{{ check_conditions }}"

The summary of the check.

title#template·default"'{{ check_rule_name }}'{% if check_status == 'success' %} succeeded{% elif check_status == 'failure' %} failed{% endif %}"

The title of the check.

As the title and summary are templates, you can benefit from any pull request attributes, e.g. {{author}}, and also these additional variables:

  • {{ check_rule_name }} the name of the rule that triggered this action;

  • {{ check_status }} the resulting check-run status: success when the success_conditions match, neutral when the neutral_conditions match, and failure otherwise. When neither option is set, the triggering rule’s own conditions decide between success and failure;

  • {{ check_succeeded }} is true if check_status is success, false otherwise;

  • {{ check_conditions }} the success_conditions with a checkbox marked against each one that matches. It is empty when only neutral_conditions is set, and falls back to the triggering rule’s own conditions when neither option is set.

{{ check_succeed }} is also available as an alias of {{ check_succeeded }}, kept for backward compatibility.

Was this page helpful?