从groovy脚本生成Jenkins失败

从groovy脚本生成Jenkins失败,jenkins,Jenkins,我有一个groovy脚本,可以运行并升级代码。长话短说,我知道在那个剧本中的某个时刻,它是否成功。如果不成功,我希望构建失败。groovy中有没有办法使构建失败 例如: 在“执行Groovy脚本”插件中。您可以编写代码 (插入API调用以提升代码) if(checkPromote()){ //此处构建失败 } 其中“checkPromote”根据升级的状态返回true或false值。声明性管道dsl有一个错误步骤: error('Failing build because...') 请参阅并搜

我有一个groovy脚本,可以运行并升级代码。长话短说,我知道在那个剧本中的某个时刻,它是否成功。如果不成功,我希望构建失败。groovy中有没有办法使构建失败

例如:

在“执行Groovy脚本”插件中。您可以编写代码

(插入API调用以提升代码)
if(checkPromote()){
//此处构建失败
}


其中“checkPromote”根据升级的状态返回true或false值。

声明性管道dsl有一个错误步骤:

error('Failing build because...')
请参阅并搜索页面中的“错误信号”

这也可以做到:

sh "exit 1"

我通常使用一些简单的方法,比如
抛出新异常(“错误消息”)
,因此您可以尝试:

    if(checkPromote()){
         throw new Exception("Error Message")
     }
希望这也适用于您

从本页开始


在我看来,中止程序最优雅的方式是断言


断言条件:“生成失败,因为…”

从脚本返回非零exitcode。如果你的建筑失败,那是我第一次尝试的
return-1
不起作用。我还尝试
return false
。如果您提供构建文件的片段和编辑问题的设置说明,可能会有所帮助。这不是管道作业。这是自由泳project@Eddie你确定?我不认为自由式项目有groovy脚本。@奇点是的,你试过吗?您已经看到了以下错误
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:Scripts不允许使用新的hudson.AbortException
@acm Yes它可以工作,尽管您必须首先批准AbortException的构造函数,但请清楚地看到,这不包括不必要的堆栈跟踪。
import hudson.AbortException
//other code
throw new AbortException("Error message .")