我正在编写一个Jenkins插件,我想从Jenkins api中检索给定作业的最后构建信息(编号,时间戳)。我可以执行以下REST调用并获取它。
<url_to_jenkins>job/<job name>/api/json?tree=builds[number,status,timestamp,id,result]
由于我的插件也部署在Jenkins中,有没有办法通过调用直接JAVA api来代替这个REST调用来获取这些信息?
答案 0 :(得分:2)
Jenkins java文档可用here。这些api也可以直接与groovy脚本一起使用。如果您想使用Postbuild groovy脚本插件,您可以使用manager
访问构建。下面是一个示例代码段,如果不成功则禁用构建
if (manager.build.result.isWorseThan(hudson.model.Result.SUCCESS)) {
manager.build.project.disabled = true
}
您可以查看Groovy Postbuild Plugin了解详情
答案 1 :(得分:0)
从java代码看起来应该是这样的:
1)获取项目:Jenkins.getInstance()。getItem(&#34; jobName&#34;)
2)检查该项目是某个工作类型的实例(或仅仅是Abtract)和铸造
3)然后在这个对象上调用.getLastBuild()
4)这将是一个构建对象(AbstractBuild),您可以在其中获取id,date,result等。