一尘不染

Jenkins Pipeline currentBuild.changeSets和每个存储库检索电子邮件

jenkins

我有一个詹金斯管道工作,该工作签出了3个存储库。

当构建失败时,取决于失败的地方,我想向导致最后一次提交/更改的开发人员发送电子邮件。

我可以用以下方式检索作者的全名:

    def changeSet = script.currentBuild.changeSets[0];
    Set authors = [];
    if (changeSet != null) {
        for (change in changeSet.items) {
            authors.add(change.author.fullName)
        }
    }

但我不知道:

  1. 如何获得作者的电子邮件?
  2. 如何区分不同存储库的作者?

阅读 1080

收藏
2020-07-25

共1个答案

一尘不染

您可以获取作者名称,然后将其用作邮件注册表中的示例或类似的名称:

def author = ""
def changeSet = currentBuild.rawBuild.changeSets               
for (int i = 0; i < changeSet.size(); i++) 
{
   def entries = changeSet[i].items;
   for (int i = 0; i < changeSet.size(); i++) 
            {
                       def entries = changeSet[i].items;
                       def entry = entries[0]
                       author += "${entry.author}"
            } 
 }
 print author;
2020-07-25