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

Reviews

This is how you determine how many approvals are required for this group to be approved, and how many review requests will be sent at a time (e.g. the max number of "pending" requested reviews at once). Additionally, you can decide what order reviewers are chosen in.

version: 3
groups:
  code:
    reviews:
      required: 3  # 3 approvals from this group are required
      request: 1  # 1 review request will be sent at a time
      request_order: shuffle  # reviewers will be chosen in a random order
      author_value: 1  # if the PR author is in this group, automatically add +1

Requesting 1 review at a time, in a specific order

Use request_order: given to have reviewers requested in the same order that you provide them (most useful with specific users). This can be handy for putting reviewers in order of preference, but having fallbacks in case people are unavailable.

version: 3
groups:
  code:
    reviews:
      required: 1
      request: 1
      request_order: given

    reviewers:
      users:
      - typicalreviewer
      - fallbackreviewer1
      - fallbackreviewer2

What happens when the PR author is also a group member?

Even though the PR author cannot approve their own PR within GitHub, you can still factor them in to your review process.

By using the author_value setting, you can decide how the required reviews are affected if the PR author is a member of this group. By default, author_value: 0 and the author's presence has no impact.

Require fewer reviews if the author is a group member

By using a positive number, the author essentially "auto approves" their own PR.

version: 3
groups:
  code:
    reviews:
      # only 2 approvals required if author is in this group
      required: 3
      author_value: 1

  code:
    reviews:
      # only 1 approval required if author is in this group
      required: 3
      author_value: 2

  code:
    reviews:
      # no approval required if author is in this group
      required: 3
      author_value: 3

Require more reviews if the author is a group member

By using a negative number, you can actually require more reviews if the author is also a member of the group. This might be useful if you want to ensure that any PR that this group "owns" gets more reviews than they usually do. For example, if the "security" team needs to give extra attention to their own PRs.

version: 3
groups:
  code:
    reviews:
      # require 4 approvals if the author is in this group
      required: 3
      author_value: -1