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.
作为我的一个构建 (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.