如何获取在Jenkins Pipeline中破坏构建的个人列表

时间:2017-08-14 08:09:41

标签: jenkins jenkins-pipeline

有没有办法检索Jenkins管道中破坏构建个人列表,就像邮件插件明显向所涉及的人发送邮件一样?

1 个答案:

答案 0 :(得分:1)

我找到了一种可能的方法,尽管它在某种程度上受限于保留的构建数量。通过迭代previousBuild层次结构及其更改日志,这可能是一个解决方案:

def getAuthors(def build) {
    def userIds = []

    build.changeSets.each { hudson.scm.SubversionChangeLogSet changeLogSet ->
        userIds += changeLogSet.collect { it.author.id }
    }

    userIds.unique()
}

def getIndividualsWhoBrokeTheBuild() {
    def userIds = []

    for(def build = currentBuild; build.result != 'SUCCESS'; build = build.previousBuild) {
        userIds += getAuthors(build)
    }

    userIds.unique()
}

假设一个作业只保留了五个版本,如果它之前被打破了超过五个版本,则不会返回原始版本。