当构建变得不稳定/失败或再次成功时,我想模仿最初的 Jenkins 做事(比如发送通知)的行为。
为此,我需要查询之前的构建状态,可以这样完成:
currentBuild.rawBuild.getPreviousBuild()?.getResult().toString()
但是,rawBuild
它应该是一个“危险”对象,因此被列入黑名单,不能在 Groovy 沙箱中执行。
现在,由于我正在从 SCM 加载我的 Jenkins 脚本,因此我无法在每个项目级别停用 Groovy 沙箱,而只能针对整个 Jenkins 实例(即通过 this),这当然不是什么我想。
是否有任何其他方法可以确定我错过的符合沙盒原则的作业的最后构建状态(并且不包括通过 Jenkins 的 REST API 查询状态等黑客行为)?