在前面的文章中,已经陆续介绍过如何使用API进行Job的创建、拷贝、启用、禁用等操作,这篇文章将进一步介绍如何使用API进行Job构建、取消、删除等操作。
Jenkins环境
本文示例的Jenkins的API Token是基于LTS 2.164.3版本进行演示。详细的环境构建可参看:
-
Job准备
事前可参看前面的文章创建相关的Job,也可手动直接在Jenkins上进行操作生成。
-
前文中已经使用过的示例
操作 | HTTP动作 | URI | 使用示例 |
---|---|---|---|
创建Job | POST | /createItem | /createItem?name=Job名称 |
拷贝Job | POST | /createItem | /createItem?name=Job名称&mode=copy&from=源Job名称 |
起用Job | POST | /job/job名称/enable | /job/job名称/enable |
禁用Job | POST | /job/job名称/disable | /job/job名称/disable |
取得Crumb信息
liumiaocn:jenkins liumiao$ curl -u root:liumiaocn 'http://localhost:32002/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)'
Jenkins-Crumb:5955de6dcdcdb990b7341ead1045eb64liumiaocn:jenkins liumiao$
Job Description获取与更新
操作 | HTTP动作 | URI | 使用示例 |
---|---|---|---|
获取Job描述信息 | GET | /job/job名称/description | /job/job名称/description |
更新Job描述信息 | POST | /job/job名称/description | /job/job名称/description |
- 获取描述信息
liumiaocn:jenkins liumiao$ curl http://localhost:32002/job/free_style_job/description
Free Style Jobliumiaocn:jenkins liumiao$
liumiaocn:jenkins liumiao$
liumiaocn:jenkins liumiao$ curl http://localhost:32002/job/pipeline_job_noparam/description
Pipeline Job Sampleliumiaocn:jenkins liumiao$
- 更新描述信息
获取Job的描述信息的时候可以不需要认证信息,而更新操作则必须进行认证方可进行。这里将描述信息从“Free Style Job”修改为“Free Style Job Description”
liumiaocn:jenkins liumiao$ curl -X POST -u root:liumiaocn -H Jenkins-Crumb:5955de6dcdcdb990b7341ead1045eb64 http://localhost:32002/job/free_style_job/description --data "description=Free Style Job Description"
liumiaocn:jenkins liumiao$
更新之后,重新查询可以确认到描述信息已经被修改。
liumiaocn:jenkins liumiao$ curl http://localhost:32002/job/free_style_job/description
Free Style Job Descriptionliumiaocn:jenkins liumiao$
获取Job API信息
操作 | HTTP动作 | URI | 使用示例 |
---|---|---|---|
获取Job的API信息 | GET | /job/job名称/api | /job/job名称/api |
liumiaocn:jenkins liumiao$ curl http://localhost:32002/job/free_style_job/api/xml 2>/dev/null|xmllint --format -
<?xml version="1.0"?>
<freeStyleProject _class="hudson.model.FreeStyleProject">
<action/>