Jenkins CURL 调用API执行Job

2020-01-09 0 By admin

Jenkins 服务提供了很多类型的API;因为工作需要,这里只记录一下执行job的API使用CURL调用的方式。

一、Jenkins API 介绍

1.1、Jenkins API 从级别上分类

  1. 站点API:创建Job、复制Job、Build 队列、重启Jenkins等
  2. Job API:修改Job、删除Job、获取Build 信息、Build Job、禁用Job、启用Job
  3. Build Job: 根据Build Number 获取Build 信息,获取Build 控制台的输出日志

1.2、传输数据的格式

POST 传输数据支持的格式有:XML,JSON,PYTHON

1.3、安全处理

  1. CSRF 跨域攻击保护:可以在全局安全中设置。
  2. 用户验证设置:可以使用用户的密码,也可以为用户创建token。

另外也可以找到一些开发语言编写的API封装包,结合到自己的脚本中,提高开发效率。

二、CURL 调用API执行Job

CURL -X POST ${JOB_URI} 
--user ${user_name}:${user_password}|${user_token} 
--data-urlencode json="{\"parameter\":${JSON_DATA},\"statusCode\":\"303\",\"redirectTo\":\".\"}"
  1. JOB_URL: 就是Job 的访问URL地址。在Job 页面中点击”Build with Parameters” 就可以获取到地址。一般以”build?delay=0sec“结尾。
  2. user_name,user_password,user_token 用户验证信息
  3. JSON_DATA:Job 运行时,需要传递的参数,由Json 结构封装;示例:[{\"name\":\"branchName\",\"value\":\"origin/dev\"},{\"name\":\"projectName\",\"value\":\"helloworld\"}]