6

我正在编写一个 Jenkins 插件,我想从 Jenkins api 检索给定作业的最后构建信息(编号、时间戳)。我可以执行以下 REST 调用并获取它。

<url_to_jenkins>job/<job name>/api/json?tree=builds[number,status,timestamp,id,result]

由于我的插件也部署在 Jenkins 中,有没有办法通过调用直接 JAVA api 而不是这个 REST 调用来获取这些信息?

4

2 回答 2

2

Jenkins java 文档可在此处获得。这些 api 也可以直接与 groovy 脚本一起使用。如果你想使用 Postbuild groovy 脚本插件,你可以使用manager. 下面是一个示例代码片段,如果构建不成功,它将禁用构建

if (manager.build.result.isWorseThan(hudson.model.Result.SUCCESS)) {
manager.build.project.disabled = true
}

您可以查看Groovy Postbuild Plugin了解更多详细信息

于 2013-02-08T14:39:13.090 回答
0

从 java 代码中它应该看起来像:
1)获取项目:Jenkins.getInstance().getItem("jobName")
2)检查项目是否是某个作业类型的实例(或只是抽象)并转换
3)然后只需调用 .getLastBuild( ) 在这个对象上
4) 这将是一个构建对象 (AbstractBuild),您可以在其中获取 id、日期、结果等。

于 2015-03-02T00:45:20.963 回答