2013-02-07 83 views
5

我在写一个Jenkins插件,我想从Jenkins api获取给定作业的最新构建信息(编号,时间戳)。我可以做以下REST调用并获得它。从Jenkins获取构建信息API

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

由于我的插件也部署在詹金斯内部有一种方法可以通过调用直接JAVA API而不是此REST调用来获取此信息?

+0

它似乎只支持远程API,https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API。我认为它更有意义,因为HTTP API提供了更多的灵活性:) – sameera207

+0

谢谢Sameera ...是的,如果消息传递是在两个系统之间完成的,它们是灵活且有用的。但在这里它发生在同一个系统内。意味着我可以直接从我的插件访问Jenkins(Hudson。*包)。没有真正的文件为那:(:(。 – user479151

回答

2

Jenkins java文档可用here。这些apis也可以直接与groovy脚本一起使用。如果你想使用Postbuild groovy脚本插件,你可以使用manager访问该版本。下面是禁用的构建,如果它是不成功的一个示例代码段

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

你可以看看Groovy Postbuild Plugin更多细节

0

从它应该java代码看起来像:
1)获得项目:詹金斯.getInstance()的getItem( “工作名”)
2)检查产品的instanceof一些作业类型(或只是Abtract)和投
3),那么只需调用.getLastBuild()这个对象
4)这将上成为一个构建对象(AbstractBuild),你可以获取ID,日期,结果等。