如何在Jenkins流水线的error步骤中展示错误详情?
解决Jenkins流水线error步骤显示自定义详情的方法
方法1:将失败详情直接嵌入error消息字符串
直接把decodedFailures的内容拼接进error()的消息参数中,处理好特殊字符(比如单引号、换行),就能让错误提示块显示完整详情,无需单独用sh echo输出。
示例代码:
// 处理单引号转义和换行,确保字符串能被正确解析 def errorDetails = decodedFailures.replace("'", "\\'").replace('\n', '\n') error("Unit tests failed:\n${errorDetails}")
这样error抛出的错误提示会直接包含所有失败详情,无需额外的独立打印区块。
方法2:利用Jenkins构建描述补充详情
如果错误内容过长,可将失败详情写入当前构建的描述中,同时在error消息里提示查看构建详情:
// 将失败详情添加到构建描述 currentBuild.description = "Unit tests failed:\n${decodedFailures}" // 抛出错误 error("Unit tests failed, see build description for details")
这种方式适合内容特别多的场景,用户可以通过构建描述查看完整失败信息。
方法3:结合自定义日志输出与error摘要
如果需要保留独立的日志区块同时让error提示带关键信息,可以先打印格式化后的失败信息,再将关键摘要嵌入error消息:
// 打印完整失败详情(带分隔格式) println "=== Unit Test Failures ===" println decodedFailures println "==========================" // 抛出带失败数量摘要的错误 def failureCount = decodedFailures.split('\n').size() error("Unit tests failed - ${failureCount} failures detected")
这种方式既保留了独立的日志区块,又在error提示中给出了关键统计信息。
内容的提问来源于stack exchange,提问作者jadedQuail
相关产品推荐
相关产品推荐

