jenkins api的使用

最近在折腾jenkins job/build的统计,虽然有 global-build-stats插件,但是却无法比较清晰的获取最简单的信息:在某个时间段内,执行了多少,成功了多少,失败了多少这些浅显的数据信息。

纠结了半天jenkins的api( 详见这里),最终还是放弃了json,xml相对筛选功能下强大太多了,不过这里有用到 xpath.

示例api的format见这里


取时间段(1324915249000,1351198930000)内的数据(timestamp为时间戳,精确到秒):

http://ci.jruby.org/job/jruby-ossl/api/xml?tree=builds[number,result,timestamp]&exclude=//build[timestamp<1324915249000 or timestamp>1351198930000]

取时间段(1324915249000,1351198930000)内成功的数据:

http://ci.jruby.org/job/jruby-ossl/api/xml?tree=builds[number,result,timestamp]&exclude=//build[timestamp<1324915249000 or timestamp>1351198930000 or result!='SUCCESS']

参数说明( 详细schema):
tree是jenkins api提供的关键数据获取的选择器,
builds对应<xsd:complexType name="hudson.model.Job">节点build元素,其可选值可见其类型对应的<xsd:complexType name="hudson.model.Run">节点
exclude是额外提供的一个排除参数,其值则是遵守xpath语法规则

Jenkins的api主要是相关细则太少,有些花开深巷无人知的感觉,或许还有更靠谱的api规则或可满足以上需求的插件可以选择,如果你知道,麻烦留言告诉我~

猜你喜欢

转载自iyuan.iteye.com/blog/1837547
今日推荐