Phabricator/ReviewerRotation
Phabricator Reviewer Rotation
In order to facilitate spreading code review responsibility more equally across a development team, we added additional functionality to our existing tool that synchronizes changes between Bugzilla and Phabricator called Phabbugz. Phabbugz already updates all new revisions when they are first created so updating reviewers based on certain criteria was possible. Herald, the rules engine in Phabricator, will update the revision first by adding a reviewer group based on rule matching such as file paths, etc. for the current code change. After, Phabbugz queries Phabricator to get the list of members of the reviewer group and assigns the next eligible person to review the revision based on their availability and their review load. Bugzilla already has user linkage to Phabricator so it maintains a record of the last user chosen. If the user has marked themselves unavailable for reviews or cannot see the revision due to security concerns, they will not be selected.