如何减少Gerrit邮件通知并配置不同角色的收件规则?
我来帮你梳理下Gerrit邮件通知的这些问题,刚好我之前也帮团队配置过类似的规则:
1. 自定义邮件通知规则:区分负责人与评审人
完全可以实现你要的效果,主要通过项目级通知配置和用户个人通知偏好结合来完成:
- 对于代码评审负责人(比如项目维护者、OWNER):让他们在个人设置里开启所有评审相关的通知,或者在项目级配置中默认给这类角色发送全部通知。
- 对于普通评审人:在项目的
project.config文件中配置规则,只在特定事件触发时发送通知。比如添加以下配置:
这样普通评审人只会在被邀请评审或有新补丁集时收到邮件,而负责人能获取所有关键事件的通知。[notify "patchset-created"] reviewer = true # 新补丁集创建时通知评审人 [notify "reviewer-added"] reviewer = true # 被添加为评审人时通知本人 [notify "comment-added"] owner = true # 仅负责人收到评论通知 maintainer = true [notify "change-merged"] owner = true maintainer = true
2. 项目级通知设置的生效范围
项目级的通知规则覆盖项目中所有参与代码评审的人员(包括OWNER、REVIEWER、MAINTAINER等),但有个前提:用户的个人通知偏好优先级更高。如果某个用户自己在个人设置里关闭了某个事件的通知,即使项目级开启,他也不会收到对应的邮件。
另外要区分「项目关注者」的通知:关注者订阅的是项目的全局事件(比如新分支创建、标签推送),而参与评审的人员的通知是针对具体变更的,两者的规则是分开的,项目级评审通知规则不会影响关注者的全局通知。
3. Web界面能否指定通知对象?
目前Gerrit的Web界面确实没有提供手动指定通知对象的功能——提交变更、添加评审人或评论时,都是按照预设的项目级/个人级规则发送邮件。
如果需要像REST API那样灵活指定通知对象,目前只能通过API调用或者借助第三方插件实现。不过通过前面提到的项目级规则配置,基本可以满足你区分负责人和评审人通知范围的需求,不需要每次手动指定。
内容的提问来源于stack exchange,提问作者Jeremy Lumley
相关产品推荐
相关产品推荐

