我正在尝试监控部署作业的 Jenkins 构建,但我只需要在构建连续失败 3 次时获取通知。
有什么想法如何实现这一点吗?
答案1
是的,使用管道脚本可以实现这一点。
您可以使用 获取构建状态build.result
。
您可以获取最近 3 次构建的列表Jenkins.instance.getItemByFullName('full/path/to/job').builds[0..2]
(请注意,如果该作业尚未构建 3 次,则这将返回少于 3 次构建的列表)。
综合以上内容,我们可以编写一个简单的脚本来检查最后三个作业是否成功:
def builds = Jenkins.instance.getItemByFullName('full/path/to/job').builds[0..2]
def failedThreeTimes = builds.every { build-> build.result.toString() == 'FAILURE' }
echo("Failed three times in a row? ${failedThreeTimes}")
请注意,您需要禁用沙盒或将一些方法列入白名单才能使用此脚本。我不知道有什么方法可以在不列入白名单或禁用沙盒的情况下做到这一点。