Jenkins:我如何使用Jenkins API获得与multiconfig父作业构建相对应的下游作业的构建

时间:2015-12-22 14:23:11

标签: jenkins groovy jenkins-plugins

我在Jenkins的以下层次结构中有工作

M -> B -> T -> TW
            -> TL

M = multi-configuration master job
B = single configuration build job
T = testing parent job
TW = testing job for Windows
TL = testing job for Linux

调用作业,M为每个配置调用B. B完成构建并调用T来测试构建并等待它完成。 T并行调用TW和TL并等待其结果。如果任何下游作业失败,则M中的该配置将标记为失败。同样,如果任何T作业失败,则B标记为失败。

我正在使用Email Ext插件通过电子邮件发送M末尾所有配置的B和T作业的状态.Email Ext插件提供了与M上构建相对应的构建对象。我无法找到任何jenkins API它给出了由M的构建调用的B,T,TL和TW的下游构建。

目前我这样做:

- Get the project object of M from build object.
- Get downstream project (project B)
- Get latest build of B
- Traverse through builds using getPreviousBuild
     Check if the build was triggered after the parent build
        to know if this build corresponds to our parent job build
     Check the build parameters to determine config of parent job

这种方法很脆弱,因为有人可以在父版本运行时手动触发下游构建。还有一些方法可以直接获取与父作业构建相对应的下游构建的构建对象。你能否提出一些解决这个问题的方法。

0 个答案:

没有答案