CodeOwner 机制

CodeOwner评审模式是一种用于指定特定文件或文件类型的所有者,以便在代码审查、合并请求等场景中自动分配审查任务的机制。

Code Review评审模式

理想Code Review中,Author常难寻最佳评审人。CodeOwner评审模式应运而生,它通过一个CODEOWNERS文件,明确各文件或模块的负责人。该文件置于分支根目录,系统据此自动匹配评审人。

一旦启用CodeOwner审核,系统会在目标分支根目录查找CODEOWNERS文件,读取设置。若文件仅有一位Owner,则必须其审核;若有多位(如A、B、C),则任一通过即可。系统自动检测并添加相关Owner至审核列表。

无匹配Owner时,至少需一人评审兜底。在评审中,文件匹配遵循最精细规则且明确,一文件一规则。

例如,CODEOWNERS文件定义的路径:

f.txt  精准对应**@user1规则
aa/f.txt  精准对应aa/**@user2规则
aa/mm/f.txt  精准对应aa/mm/**@user3规则
bb/f.txt  精准对应bb/**@user4规则

每份文件,都能对应适合的规则,让处理更加高效、精准。

高的 (12).png

在CODEOWNERS文件中,路径定义采用Glob语法,类似Linux的find命令或Git的.gitignore规则。使用@username指定Owner,其中username需为已验证的主邮箱。查看主邮箱,请前往个人设置 > 个人信息1

示例如下:

# 注释行,以下为配置正文,每一行代表一个配置。
# 一个路径规则后边,需要有一个或多个Owner

# 用户 A@example.com,B@example.com 作为所有文件的CodeOwner
** @A@example.com @B@example.com

# 用户 C@example.com 作为所有java文件的CodeOwner
**.java @C@example.com

# 用户 D@example.com、E@example.com 作为force-api目录下文件的CodeOwner
force-api/** @D@example.com @E@example.com

# 用户 F@example.com 作为force-base/src/main/java目录下文件的CodeOwner
force-base/src/main/java/** @F@example.com

相关文档

分支设置