Jenkins的API可以通过用户名+密码或者用户名+token的方式来进行认证,这篇文章以具体示例来说明具体的使用方式。
Jenkins环境
本文示例的Jenkins的API Token是基于LTS 2.164.3版本进行演示。详细的环境构建可参看:
Job准备
事前可参看如下文章创建相关的Job,也可手动直接在Jenkins上进行操作生成。
方式1: 传入用户名和密码
以curl客户端为例,使用-u方式传入用户名和密码, 将free_style_job的状态设定为禁用。
liumiaocn:jenkins liumiao$ curl -X POST -u root:liumiaocn -H Jenkins-Crumb:5955de6dcdcdb990b7341ead1045eb64 http://localhost:32002/job/free_style_job/disable
liumiaocn:jenkins liumiao$
从Jenkins页面也能确认此Job状态发生了变化
方式2: 用户名+密码方式(URL)
URL中将用户名和密码嵌入其中,格式为用户名:密码@JenkinsURL也可以实现相同效果。同样以curl客户端为例,将将free_style_job_copy的状态设定为禁用。
liumiaocn:jenkins liumiao$ curl -X POST -H Jenkins-Crumb:5955de6dcdcdb990b7341ead1045eb64 http://root:liumiaocn@localhost:32002/job/free_style_job_copy/disable
liumiaocn:jenkins liumiao$