You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过普通Groovy脚本步骤将Jenkins Freestyle任务设为失败状态

在不打印堆栈跟踪的情况下标记Jenkins Freestyle任务为失败

可行方案

方案1:抛出Jenkins内置中止异常

使用hudson.AbortException抛出错误,这是Jenkins专门用于中止任务的异常,默认不会打印堆栈跟踪,只会显示自定义错误消息,同时将任务标记为失败:

throw new hudson.AbortException("任务执行失败,请检查相关配置")

方案2:通过线程获取构建对象修改状态

如果不想抛出异常,可通过当前线程获取正在执行的构建实例,直接修改其结果:

import hudson.model.Result
def currentBuild = Thread.currentThread().executable
currentBuild.setResult(Result.FAILED)

这种方式不会产生任何异常输出,直接将任务状态设为失败。

之前尝试方法失效的原因

  • currentBuild/build:这两个是Jenkins Pipeline专属变量,Freestyle任务的普通Groovy脚本步骤无法直接访问
  • exit(1)/return 1:普通Groovy脚本步骤的返回值或exit调用不会影响Jenkins构建的整体状态,Jenkins仅根据步骤是否抛出异常判断任务是否失败

内容的提问来源于stack exchange,提问作者Glenn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 17:45:08