【发布时间】:2018-12-07 01:21:37
【问题描述】:
我配置了一个 Jenkins 项目(这里我将其称为 SuperJob)以简单地按顺序调用几个不同的其他 jenkins 项目。
我希望能够通过 Jenkins API 找出该 SuperJob 的特定内部版本号的所有子项目的结果
查看HERE 发布的代码,我能够从每个构建中获取 SuperJob 项目中配置的特定项目的列表,但是我无法找到查询每个这些项目的具体构建号的方法是从 SuperJob 的特定版本运行的。
例如,我想知道“SuperJob build #5”触发了“MyJob build #3”和“OtherJob build #20”,因此我可以汇总并检查所有结果。
我已经尝试了所有上游和下游 API,包括使用子项目作为关系项目的参数,但它们都返回空或 null。
我猜这是可能的,因为 Jenkins 本身能够在 web ui 中显示来自插件的信息,但我无法找出如何。
【问题讨论】:
-
真的只有我一个人有这样的问题吗?或者也许它太简单了我错过了一些东西
-
不,几分钟前我遇到了同样的问题..)我需要通过 REST API 检索构建链。
-
那么 Jenkins 显然能够检索到正确的信息,因为当我将 SuperJob 配置为在其中一个子作业失败时立即失败时,jenkins 将只显示列表中已运行的那些但是使用API,您最终将获得一个不属于该特定超级作业构建的构建
-
一些用于这些检索的本机 Jenkins Java 代码可通过谷歌搜索。但是通过 REST API,我只看到反向连接是“由上游构建引起的......”,而不是相反的方向。这告诉我刮掉所有下游构建以找到一个,它可能是 DDOS 或需要某种缓存,仅在“完成”构建时才有效......对于这样简单的问题来说,这太复杂了...... (
-
我刚刚提交了issues.jenkins-ci.org/browse/JENKINS-33001。希望这将得到修复,或者在某个时候包含一个解决方法。与此同时,我想只是赞成这个问题
标签: jenkins continuous-integration jenkins-plugins