Jenkins Pipeline:检查上次构建的另一个项目的状态

Jenkins Pipeline: Check status of another project last build

作为我的一个构建 (ProjectA) 的一部分,我需要从另一个项目 (ProjectB) 复制工件。目前我正在上 "last successful build".

但这会带来一个问题,如果 ProjectB 的最后一次构建失败,那么当前构建的 ProjectA 将收到过时的文件。

所以我希望 ProjectA 仅在此构建成功时才接收 ProjectB 的最后一个构建,否则它应该会失败。为此,我需要一个命令来查询 ProjectB 的最后构建状态

我找到了一个等效的命令来检查当前管道的先前构建状态,但不是用于另一个项目。 感谢您的帮助:)

您可以使用以下语法:

import groovy.json.JsonSlurper

def getJobStatus(String jobName){
    def request = httpRequest "https://<JENKINS_ADDRESS>/job/${jobName}/lastBuild/api/json"
    def requestJson = new JsonSlurper().parseText(request.getContent())
    return requestJson['result']
}

例如参见this
您也可以查看 httpRequest documentation.