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

Groovy声明式流水线中如何抑制抛出异常的堆栈追踪输出?

Jenkins流水线抑制异常堆栈输出方案

方法1:使用Jenkins内置error指令(最推荐)

Jenkins Pipeline原生提供的error指令专门用于终止当前执行并抛出错误,默认仅输出你传入的自定义提示内容,不会打印完整异常堆栈,同时可以正常触发你配置的retry重试逻辑。
修改后的代码示例如下:

if (isValid == 1) {
   println("Erroring out due to invalid change ticket")
   error("Please rerun the job and enter a valid change ticket")
} else {
   println("CHG ticket is valid")
}

方法2:抛出hudson.AbortException类型异常

如果你的场景必须使用抛出异常的写法,不要抛出通用的Exception,改用Jenkins专属的任务终止异常类hudson.AbortException,该异常会被Jenkins特殊处理,仅输出自定义的错误消息,不会打印冗长堆栈。
修改后的代码示例如下:

// 若流水线运行在沙箱模式下,需要先在Jenkins脚本安全管理中批准该类的使用权限
if (isValid == 1) {
   println("Erroring out due to invalid change ticket")
   throw new hudson.AbortException("Please rerun the job and enter a valid change ticket")
} else {
   println("CHG ticket is valid")
}

以上两种方案都不会影响你原有配置的retry重试逻辑,stage会按设置正常自动重启,控制台仅会展示你自定义的错误提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:48:03