This is the new PullApprove v3! Completely redesigned and rebuilt. You can read more about it here or log in to v2 here.

Automatically involve the right GitHub reviewers,
at exactly the right time

Get started for free
version: 3

pullapprove_conditions:
- "'WIP' not in title"
- "base.ref == 'master'"
- "'hotfix' not in labels"

notifications:
- when: pull_request.opened
  comment: >
    Hi @{{ author }}! PullApprove will request the right reviewers
    so that we can look this over.

    We'll let you know if we need anything else from you. Thanks!

groups:
  database:
    conditions:
    - "'*migrations*' in files"
    reviewers:
      users:
      - jeff

  frontend:
    conditions:
    - "'ui/ux' in labels"
    reviews:
      required: 2
      request: 1
      request_order: random
    reviewers:
      teams:
      - frontend

  signoff:
    conditions:
    - "'database' in groups.passing"
    - "'frontend' in groups.passing"
    reviewers:
      teams:
      - admins

PullApprove provides powerful and flexible controls for deciding who needs to review pull requests. We'll put your code review process into action with timely notifications and review requests sent through GitHub.


Smart reviewer selection

Whether they have ownership over specific files, areas of expertise, or phases in the review process, you can use conditions to loosely or precisely decide who needs to review what.

See what's possible
version: 3
groups:
  database:
    conditions:
    - "'*migrations*' in files or 'database' in labels"
    reviewers:
      users:
      - jeff

Review when ready

Not every pull request should be reviewed right away. And some PRs never need to be reviewed. You decide when reviewers need to get involved, and we'll make it happen.

version: 3
pullapprove_conditions:
- "'WIP' not in title"
- "'hotfix' not in labels"
- "base.ref == base.repo.default_branch"
- "'license/cla' in statuses.succeeded"
- "'*travis*' in statuses.succeeded"

groups:
  ...
Conditions with status checks from PullApprove

No excess notifications

PullApprove only requests a review when it is needed. You decide how many reviewers need to be requested at a time, and we'll cycle through them until enough approvals have been given.

Pull request review requested from PullApprove
version: 3
groups:
  code:
    reviews:
      required: 4
      request: 2
      request_order: random
    reviewers:
      teams:
      - code-review

Keep the author in the loop

Good communication is key to code review. Use notifications to make it clear what needs to happen next in your process and what the expectations are for the PR author and the reviewers.

Pull request comment from PullApprove
version: 3
notifications:
- when: pull_request.opened
  comment: |
    Hey @{{ author }}, thanks for the PR!
    The review will start once the tests and CI checks have passed.
    You'll also need to sign our CLA if you haven't before.

groups:
  ...

Out of the office or unavailable?

Set your status to "unavailable" and we'll automatically remove your pending review requests, and prevent any new requests while you're away. Do yourself and your team a favor by not holding things up.

GitHub unavailable away status with PullApprove

Easily re-use settings across repos

In large organizations with lots of repositories, sharing config settings is extremely valuable.

You can also use our templates if you want to try a proven workflow before figuring out exactly how you want it to work.

version: 3
extends: https://api.github.com/repos/example/pullapprove-config/contents/.pullapprove.yml