1 站点API

- 站点支持的API: http://<Jenkins-Server-Address>/api
- 查询到站点中所有的job信息(JSON格式): http://<Jenkins-Server-Address>/api/json?pretty=true
- 查询到站点中所有的job信息(XML格式): http://<Jenkins-Server-Address>/api/xml
- 通过tree进行过滤: http://<Jenkins-Server-Address>/api/json?pretty=true&tree=jobs[name[*]]
- 重启站点: http://<Jenkins-Server-Address>/restart
- 安全重启站点: http://<Jenkins-Server-Address>/safeRestart

2 获取Job相关信息

- 当前的api说明: http://<Jenkins-Server-Address>/job/<Job-Name>/api/
- JSON格式: http://<Jenkins-Server-Address>/job/<Job-Name>/api/json?pretty=true
- XML格式: http://<Jenkins-Server-Address>/job/<Job-Name>/api/xml

3 获取Job的指定信息(JSON格式)

- 获取Job的builds节点信息: http://<Jenkins-Server-Address>/job/<Job-Name>/api/json?pretty=true&tree=builds[*]
- 获取Job的builds节点下displayName节点信息: http://<Jenkins-Server-Address>/job/<Job-Name>/api/json?pretty=true&tree=builds[displayName]
- 获取Job的builds节点下指定displayName节点信息: http://<Jenkins-Server-Address>/job/<Job-Name>/api/json?pretty=true&tree=builds[displayName]{x,y}
- 获取两个相关的节点信息,例如: http://<Jenkins-Server-Address>/job/<Job-Name>/api/json?pretty=true&tree=builds[displayName]{3,5},url[*]

4 获取指定Build相关信息

- JSON格式: http://<Jenkins-Server-Address>/job/<Job-Name>/<Build-Number>/api/json?pretty=true
- XML格式: http://<Jenkins-Server-Address>/job/<Job-Name>/<Build-Number>/api/xml
- 获取指定信息: http://<Jenkins-Server-Address>/job/<Job-Name>/<Build-Number>/api/json?pretty=true&&tree=<filter>

5 通过curl工具

- 获取最近的buildNumber: `curl --silent http://<Jenkins-Server-Address>/job/<Job-Name>/lastBuild/buildNumber`
- 获取最近稳定的buildNumber:`curl --silent http://<Jenkins-Server-Address>/job/<Job-Name>/lastStableBuild/buildNumber`
- 获取最近成功的buildNumber:`curl --silent http://<Jenkins-Server-Address>/job/<Job-Name>/lastSuccessfulBuild/buildNumber`
- 获取最近失败的buildNumber:`curl --silent http://<Jenkins-Server-Address>/job/<Job-Name>/lastFailedBuild/buildNumber`

6 对Job的一些操作

- 获取(get方法)和更新(post方法)Job的description信息: http://<Jenkins-Server-Address>/job/<Job-Name>/description
- 获取(get方法)和更新(post方法)Job的详细配置信息: http://<Jenkins-Server-Address>/job/<Job-Name>/config.xml
- 不带参数直接执行(post方法): http://<Jenkins-Server-Address>/job/<Job-Name>/build
- 带参数执行(post方法),例如: http://<Jenkins-Server-Address>/job/<Job-Name>/buildWithParameters?token=testuser\&AAA='test123'\&BBB='test789'
- 禁用(post方法)指定的job: http://<Jenkins-Server-Address>/job/<Job-Name>/disable
- 启用(post方法)指定的job: http://<Jenkins-Server-Address>/job/<Job-Name>/enable
- 删除(post方法)指定的job: http://<Jenkins-Server-Address>/job/<Job-Name>/doDelete

实例

获取项目ceshi的最后一次构建信息
curl --silent http://jenkins.wmmzz.com/job/ceshi/lastBuild/api/json?pretty=true  --user admin:"passwd"

获取jenkins所有job信息
curl --silent http://jenkins.wmmzz.com/api/json?pretty=true  --user admin:"passwd"

获取项目ceshi的配置信息
curl --silent http://jenkins.wmmzz.com/job/ceshi/config.xml    --user admin:"passwd"

创建一个新项目,先下载案例ceshi的config.xml,再用这个配置模板创建项目test
curl --silent http://jenkins.wmmzz.com/job/ceshi/config.xml    --user admin:"passwd"    -o   config.xml

curl  -X  POST    http://jenkins.wmmzz.com/createItem?name=test    --user admin:"passwd"   --data-binary   "@config.xml"  -H "Content-Type: text/xml"

更新ceshi项目的配置文件,更改config.xml再传上去
curl  -X  POST    http://jenkins.wmmzz.com/job/ceshi/config.xml    --user admin:"passwd"   --data-binary   "@config.xml"  -H "Content-Type: text/xml"

根据实际测试,当jenkins项目配置中启用'构建'里的'执行shell'时,下载的config.xml文件无法使用,测试时报错
此时,推荐使用复制的方法创建项目,使用创建好的muban项目,复制出新项目ceshi
curl  -X  POST   http://jenkins.wmmzz.com/createItem?name=ceshi\&mode=copy\&from=muban    --user admin:"passwd"     -H "Content-Type: application/xml"

参考文章:
https://www.cnblogs.com/anliven/p/13642675.html

https://blog.csdn.net/weixin_33320453/article/details/85713503

https://blog.csdn.net/u013670453/article/details/114697112

https://blog.csdn.net/liumiaocn/article/details/90679244

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐