编写 Jenkins groovy 脚本——如何确定哪个构建步骤失败

Writing a Jenkins groovy script -- how to determine which build step failed

我正在尝试为 Jenkins email-ext plugin 编写自定义预发送脚本。我现在可以编写一个简单的 'hello world' groovy 脚本并使用 "Email template testing" 工具编写 运行 它来完成我想要自定义的工作。

唉,我在浏览 Jenkins 构建时遇到了一些问题 API。作为起点,我要自定义其电子邮件的作业具有 N 个构建步骤。我只想在其中一个步骤失败时发送电子邮件,并且我想根据失败的步骤写不同的消息。

如何确定构建中的步骤数(N),以及哪一步失败了?

哪个构建步骤导致构建结果发生变化只记录在控制台输出中,例如

Build step 'Execute shell' marked build as failure

这不会作为构建记录的一部分存储,因此无法通过 API。

所以你必须尝试抓取控制台输出来做你想做的事。

要确定有多少构建步骤,您需要通过 /job/foo/config.xml 获取作业配置并计算 <project><builders> 标签中有多少项目(假设是自由式项目) .