|
New ticket
#4975
by
beasleyr-vmw
For
Beanbag, Inc.
▸
RBTools
`rbt post` should infer default reviewers from Google/Gerrit-style OWNERS, GitLab-/GitHub-style CODEOWNERS files
What version are you running?
Review Board 3.0.18
RBTools 2.0 (Python 3.6.8)
Describe the enhancement and the motivation for it.
Enhancement
rbt post optionally takes over the responsibility of determining which users/groups a review request should be sent to for a given change. The mapping of source files to users/groups can be configured using one or more of the following de facto standards.
- GitHub CODEOWNERS link
- GitLab CODEOWNERS link
- Google/Gerrit OWNERS link
I suggest implementing support for all 3 types. RBTools can either probe to determine which style is in use for a given repo, or it can let users choose which style applies their repo by setting the appropriate flag in .reviewboardrc.
Motivation
Defining default reviewers in large repositories is very difficult, because Review Board's default reviewers configuration is based on regular expressions that require superuser privileges to edit. This prevents users from fine-tuning default reviewer configurations, because (a) the desired behavior needs to somehow be able to be captured by one or more regexps, and (b) each tweak to the set of regexps requires a support ticket. Using OWNERS/CODEOWNERS would push this configuration out from the RB server to the actual project repository where changes in ownership can be managed by end developers instead of an admin.
Please provide any additional information below.
I filed this under RBTools (as opposed to Review Board) for two reasons:
1. rbt post already supports --target-groups and --target-people, so I figured it'd make sense for rbt post to infer appropriate values based on OWNERS files.
2. Users can upgrade RBTools at their convenience, and so folks can easily adopt this feature w/o waiting for central admins to upgrade central infra first.
I may be able to allocate cycles to contribute patches for this.
New
Priority:Medium
Type:Enhancement
|