Groovy Jenkins不会将构建结果更新为更好的结果

Groovy Jenkins不会将构建结果更新为更好的结果,groovy,jenkins,Groovy,Jenkins,我有一个groovy脚本,它使用setResult(hudson.model.result.SUCCESS)更改构建结果 但我意识到我不能把工作结果改成更好的结果(只能改成更糟的结果)。如果我将代码更改为:build.setResult(hudson.model.Result.Unstable),那么当构建成功时,结果将更改(我可以在控制台输出中看到:构建步骤'Groovy Postbuild'将构建结果更改为Unstable) 但我无法将结果更新为更好的结果 有什么解决办法吗? (groovy

我有一个groovy脚本,它使用setResult(hudson.model.result.SUCCESS)更改构建结果

但我意识到我不能把工作结果改成更好的结果(只能改成更糟的结果)。如果我将代码更改为:build.setResult(hudson.model.Result.Unstable),那么当构建成功时,结果将更改(我可以在控制台输出中看到:构建步骤'Groovy Postbuild'将构建结果更改为Unstable) 但我无法将结果更新为更好的结果

有什么解决办法吗? (groovy后期构建也会出现同样的问题)

编辑: 我在主作业中使用多作业插件来运行3个下游作业(名为job1、job2、job3)。我编写了一个groovy脚本,这样主作业的结果将仅由前两个下游作业决定(当job1和job2成功,而job3不稳定时,我希望将主作业结果设置为success)。 因为上面提到的问题,我不能做。。。有什么想法吗


谢谢。

我相信这是詹金斯的预期行为。其他更改生成结果的方法(如)也无法“改善”生成状态,它们只能使生成状态变得更糟(从成功到不稳定再到失败)。

使用和,您可以使用result.fromString()更改生成结果,例如,将结果设置为“不稳定”:

在控制台中,您将看到:

[PostBuildScript]-执行生成后脚本

[当前构建状态]检查当前[中止]是否比[中止]更差或相等,以及比[不稳定]更好或相等

运行条件[当前构建状态]启用执行步骤[执行系统Groovy脚本]

返回的脚本:不稳定


你也在做build.setResult吗?如果结果是成功的,那么在你的问题中它就丢失了?!当然我刚刚将“成功”更改为“不稳定”。如果满足条件,也许可以启动批处理命令强制退出代码0?但我需要主作业继续运行。。。它仍然需要发送邮件等。我在问题中添加了一些信息,您有什么解决方案吗?
build.result = hudson.model.Result.fromString('UNSTABLE')