groovy 如何从Jenkins管道故障中获取异常消息?

mpbci0fu  于 5个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(39)

我在我的管道中有一个try { } catch (e) { }块,它将更新GitHub中的提交状态,以指示构建是通过还是失败。我想扩展功能,以提供关于构建失败原因的更多细节。我现在使用e.localizedMessage作为异常消息,但除了script returned exit code 1之外没有得到任何有用的信息。
是否有其他方法或属性可以用来获取完整的异常消息?也许是stderr
例如,如果我跑

sh("ls nonexistentfolder")

字符串
我想在我的异常e中捕获消息

ls: nonexistentfolder: No such file or directory

piah890a

piah890a1#

可以通过将stderr保存到文件中并在catch块中阅读该文件来实现。

try{
    sh script: "ls nonexistentfolder 2>error.log"
}
catch(e){
    println(readFile('error.log').trim())
}

字符串

相关问题