最近在折腾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规则或可满足以上需求的插件可以选择,如果你知道,麻烦留言告诉我~
分享到:
相关推荐
压缩包中的`jenkinsApi`文件可能包含一个简单的Java示例,展示了如何初始化Jenkins客户端、设置认证、触发Job构建等基本操作。通过分析这个示例,可以更好地理解上述知识点的实际应用。 在实际项目中,使用Java...
在提供的"JenkinsApi c#"压缩包中,可能包含了一个C#项目或类库,演示了如何调用Jenkins API。以下是一些常见的API调用场景: 1. **验证连接**:通常,我们首先需要验证Jenkins服务器的访问权限。这可以通过发送一...
这是用Go编写的Jenkins API的API客户端。 用法 import "github.com/yosida95/golang-jenkins" 配置身份验证并创建客户端实例: auth := & gojenkins. Auth { Username : "[jenkins user name]" , ApiToken : "...
1. **连接Jenkins服务器**:使用`jenkinsapi.jenkins.Jenkins`类初始化一个Jenkins实例,指定服务器地址和认证信息,即可建立连接。 2. **管理作业**:通过`get_job`方法获取特定作业,`create_job`创建新作业,`...
Api-gojenkins.zip,Gojenkins API客户端中的Jenkins API客户端,一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web应用程序之间的数据库通信。通过提取实现并将数据放弃到对象中,api简化了...
该项目旨在使用JSON API,并提供一些有用的函数来以编程方式控制Jenkins上的作业。 即使Jenkins提供了一个很棒的UI来控制作业,但拥有一个可编程的界面也将是很好并且很有帮助的,这样我们就可以动态,自动地管理...
Jenkins中的Token使用 Jenkins是一款流行的自动化构建工具,提供了许多实用的功能来提高构建和部署的效率。在Jenkins中,Token是一种特殊的变量,可以在构建过程中动态生成不同的值。Token可以用来实现各种自动化...
该库只是使用jenkins的REST API的一段Java代码。 这意味着您可以触发构建,提取有关作业或构建的信息。您可以提取的信息将以java对象表示,您可以将其重用于其他目的,或者将该库集成到其他部分以进行更高级别的...
添加了注释nodejs-jenkins-api安装npm install jenkins-api用法设置var jenkinsapi = require ( 'jenkins-api' ) ;// no authvar jenkins = jenkinsapi . init ( "http://jenkins.yoursite.com" ) ;// username/...
Jenkins API Client for Go About Jenkins is the most popular Open Source Continuous Integration system. This Library will help you interact with Jenkins in a more developer-friendly way. These are some...
Github Action使用Jenkins API触发jenkins作业并等待作业完成。 欢迎您的反馈和要求。 :open_hands: 用法 生成Jenkins API的API令牌 请参阅 登录詹金斯。 单击您的姓名(右上角)。 单击配置(左侧菜单)。 使用...
在这个场景中,我们关注的是Python3如何利用GitLab和Jenkins的API来实现特定的功能。首先,我们来详细了解一下这两个工具: GitLab是一款开源的版本控制系统,它提供了强大的API功能,允许开发者通过HTTP/HTTPS协议...
它提供了一系列API来管理Jenkins实例,包括创建/删除任务、触发构建等操作。 ##### 安装方法: 1. **通过pip安装**: ```bash pip install python-jenkins ``` 2. **通过easy_install安装**: ```bash easy_...
使用python封装jenkins接口
纳罗奇诺·詹金斯 一个简单的Jenkins客户端,提供围绕默认Jenkins API的C#包装器。用法示例var config = new JenkinsConfig{ JenkinsUrl = " <your> "};# Optionally disposeusing ( var jenkinsClient = new ...
"Postman+Newman+Jenkins+Git API测试自动化集成测试" Postman是一款功能强大的API测试工具,能够帮助开发者快速测试和验证API。然而,在实际应用中,手动点击Runner进行测试的方式不够灵活和高效,因此引入了...
Jenkins 是一款开源的...综上所述,这个压缩包为那些需要使用 Jenkins 老版本的用户提供了一套完整的环境,包括 Jenkins 本身、Maven 以及兼容的插件。理解这些组件的作用和如何配合使用,是有效利用这些资源的关键。
詹金斯·雷斯特Java客户端建立在jclouds的顶部,可与Jenkins REST API一起使用。建立客户可以这样构建: JenkinsClient client = JenkinsClient.builder().endPoint("http://127.0.0.1:8080") // Optional. Defaults...