Rest 从Jenkins API获取构建信息

Rest 从Jenkins API获取构建信息,rest,jenkins,Rest,Jenkins,我正在编写一个Jenkins插件,我想从Jenkins api检索给定作业的上一次构建信息(编号、时间戳)。我可以执行以下REST调用并获得它 <url_to_jenkins>job/<job name>/api/json?tree=builds[number,status,timestamp,id,result] job//api/json?tree=builds[编号、状态、时间戳、id、结果] 由于我的插件也部署在Jenkins内部,有没有办法通过调用直接JAV

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

<url_to_jenkins>job/<job name>/api/json?tree=builds[number,status,timestamp,id,result]
job//api/json?tree=builds[编号、状态、时间戳、id、结果]

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

Jenkins JAVA文档可用。这些API还可以直接与groovy脚本一起使用。如果您想使用Postbuild groovy脚本插件,可以使用
管理器
访问该版本。下面是一个示例代码段,如果构建失败,它将禁用该构建

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

您可以从java代码中查看更多详细信息,它应该是这样的:
1) 获取项目:Jenkins.getInstance().getItem(“jobName”)
2) 检查项目是否为某个作业类型(或仅为作业类型)的实例并强制转换
3) 然后只需在此对象上调用.getLastBuild()

4) 这将是一个构建对象(AbstractBuild),您可以在其中获取id、日期、结果等。

它似乎只支持远程API。我认为这更有意义,因为HTTP API提供了更多的灵活性:)谢谢Sameera。。。是的,如果消息在两个系统之间传递,它们是灵活和有用的。但在这里,它发生在同一个系统中。这意味着我可以从我的插件直接访问Jenkins(Hudson.*软件包)。没有真正的文件:(。