Write expressions to decide which PRs get reviewed and when the review starts.
By default there are no
pullapprove_conditions and every PR is eligible for review according to your groups.
When you use
pullapprove_conditions to disable review, by default you will see a "success" status in GitHub.
version: 3 pullapprove_conditions: - "'WIP' not in title" # only review if not marked as work in progress - "base.ref == 'master'" # only review things being merged into master - "'*travis*' in statuses.successful" # only review if tests have already passed - "'hotfix' not in labels" # let hotfix PRs go through without review # review groups are only evaluated if all of the pullapprove_conditions are true groups: ...
Depending on your condition, you may want to set the status to "pending" or "failure" when a condition is unmet. If PullApprove is a required status check on your repo, this will block a PR from being merged.
You can also write a custom explanation to provide more information directly in the GitHub interface.
Note that the conditions are evaluated in order, and the first one to fail will set the status and explanation.
version: 3 pullapprove_conditions: - condition: "base.ref == 'master'" unmet_status: success explanation: "Review not required unless merging to master" - "'hotfix' not in labels" # when using the string type, the default status is "success" - condition: "'WIP' not in title" unmet_status: pending explanation: "Work in progress" - condition: "'*travis*' in statuses.successful" unmet_status: failure explanation: "Tests must pass before review starts" # review groups are only evaluated if all of the pullapprove_conditions are true groups: ...