About code review settings
To reduce noise for your team and clarify individual responsibility for pull request reviews, you can configure code review settings.
- Team notifications
- Auto assignment
About team notifications
When you choose to only notify requested team members, you disable sending notifications to the entire team when the team is requested to review a pull request if a specific member of that team is also requested for review. This is especially useful when a repository is configured with teams as code owners, but contributors to the repository often know a specific individual that would be the correct reviewer for their pull request. For more information, see "About code owners."
About auto assignment
When you enable auto assignment, any time your team has been requested to review a pull request, the team is removed as a reviewer and a specified subset of team members are assigned in the team's place. Code review assignments allow you to decide whether the whole team or just a subset of team members are notified when a team is requested for review.
When code owners are automatically requested for review, the team is still removed and replaced with individuals unless a branch protection rule is configured to require review from code owners. If such a branch protection rule is in place, the team request cannot be removed and so the individual request will appear in addition to the team. Once the individual completes their review, the team is removed.
Routing algorithms
Code review assignments automatically choose and assign reviewers based on one of two possible algorithms.
The round robin algorithm chooses reviewers based on who's received the least recent review request, focusing on alternating between all members of the team regardless of the number of outstanding reviews they currently have.
The load balance algorithm chooses reviewers based on each member's total number of recent review requests and considers the number of outstanding reviews for each member. The load balance algorithm tries to ensure that each team member reviews an equal number of pull requests in any 30 day period.
Any team members that have set their status to "Busy" will not be selected for review. If all team members are busy, the pull request will remain assigned to the team itself. For more information about user statuses, see "Personalizing your profile."
Configuring team notifications
-
In the upper-right corner of GitHub, select your profile photo, then click Your organizations**.
-
Click the name of your organization.
-
Under your organization name, click Teams.
-
Click the name of the team.
-
At the top of the team page, click Settings.
-
In the left sidebar, click Code review.
-
Select Only notify requested team members.
-
Click Save changes.
Configuring auto assignment
-
In the upper-right corner of GitHub, select your profile photo, then click Your organizations**.
-
Click the name of your organization.
-
Under your organization name, click Teams.
-
Click the name of the team.
-
At the top of the team page, click Settings.
-
In the left sidebar, click Code review.
-
Select Enable auto assignment.
-
Under "How many team members should be assigned to review?", select the dropdown menu and choose a number of reviewers to be assigned to each pull request.
-
Under "Routing algorithm", use the dropdown menu and choose which algorithm you'd like to use. For more information, see "Routing algorithms."
-
Optionally, to always skip certain members of the team, select Never assign certain team members. Then, select one or more team members you'd like to always skip.
-
Optionally, to include members of child teams as potential reviewers when assigning requests, select Child team members.
-
Optionally, to count any members whose review has already been requested against the total number of members to assign, select Count existing requests.
-
Optionally, to remove the review request from the team when assigning team members, select Team review request.
-
Click Save changes.
Disabling auto assignment
-
In the upper-right corner of GitHub, select your profile photo, then click Your organizations**.
-
Click the name of your organization.
-
Under your organization name, click Teams.
-
Click the name of the team.
-
At the top of the team page, click Settings.
-
Deselect Enable auto assignment.
-
Click Save changes.