在脚本管道中,我试图检查下游作业的状态。如果下游作业失败,我想将阶段设置为不稳定。我正在尝试下面的代码,但它不起作用
if (JOBRUN == "true" ){
def downstream = build job: "/project/A/${env.BRANCH}", wait: true
if (downstream.getResult() != 'SUCCESS') {
unstable(message: "Downstream job result is ${downstream.result}")
}
}
我也试过这个选项
def downstream = build (job: "/project/A/${env.BRANCH}", wait: true).result
if (downstream.getResult() != 'SUCCESS') {
unstable(message: "Downstream job result is ${downstream.result}")
}
1条答案
按热度按时间qni6mghb1#
Jenkins自动向上传播构建结果,因此您不必专门从方法中获取结果,因为结果会反映在上游构建作业的状态中。相反,您可以捕获错误并从代码中更改结果。例如:
因此,在上面的情况下,如果
yourjob
失败,则触发该作业的整个阶段也将失败。但是,由于正在捕获失败,因此错误将转换为unstable
,并带有您指定的任何消息。