Gerrit设置默认情况下如何在更改发生合并冲突时通知作者

时间:2019-11-15 19:13:07

标签: configuration gerrit

对于“所有项目”或特定项目,我找不到一种方法可以通知提交给Gerrit的开放更改的作者该更改现在存在合并冲突。

我查看了Project owner guide, Email NotificationsNotifications, Project level settings中的文档。

如果默认情况下,项目所有者希望其开发人员团队默认将这些通知(而不是发送给团队中的所有人,而是仅发送给现在已合并的未完成更改的作者),将很有用冲突。

根据文档,特定用户可以通过以下方式在“设置”>“受监视的项目”中全局添加此特定电子邮件通知:

  • 回购:所有项目
  • 搜索表达式:所有者:自身状态:打开-is:可合并
  • 选择“更改”。

1 个答案:

答案 0 :(得分:1)

您无法使用观看的项目来做到这一点。您需要定期执行脚本,以使用REST在Gerrit中搜索此信息。

第1步

查找带有合并冲突的未完成更改。

以下命令将搜索所有未解决的更改,而不是WIP,私有和不可合并的更改,并返回其更改编号和更改所有者ID:

curl -s --request GET --user USER:PASS https://GERRIT-SERVER/a/changes/?q=status:open+AND+-is:wip+AND+-is:private+AND+-is:mergeable | sed 1d | jq --raw-output '.[] | [._number, .owner._account_id | tostring] | join(" ")'

第2步

查找用户电子邮件。

以下命令将搜索更改所有者ID并返回他/她的电子邮件:

curl -s --request GET --user USER:PASS https://GERRIT-SERVER/a/accounts/CHANGE-OWNER-ID | sed 1d | jq --raw-output .email

第3步

发送电子邮件通知。