jenkins提供了rest api,通过调用接口,可以执行一些job的操作,如构建job ,新建job,启用禁用等操作骑车
其次curl是什么?
cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。 cURL还包含了用于程序开发的libcurl。
cURL支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。
curl还支持SSL认证、HTTP POST、HTTP PUT、FTP上传, HTTP form based upload、proxies、HTTP/2、cookies、用户名+密码认证(Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos)、file transfer resume、proxy tunneling。
可以看出curl支持http协议,所以调用jenkins的rest api是没有问题的。
接下来示例演示操作cur 对jenkins的job的启用和禁用及构建,示例中用到的jenkins url为:http://localhost:8080/jenkins/,job名称为:login,jenkins管理员账号:root, 密码:root
启用job login
curl --user root:root --data enable http://localhost:8080/jenkins/job/login/enable
禁用job login
curl --user root:root --data disable http://localhost:8080/jenkins/job/login/disable
构建job login
curl --user root:root --data build http://localhost:8080/jenkins/job/login/build
命令中–user 表示jenkins账号密码认证
执行结果如下(如果在windows下,是没有办法直接在cmd下执行curl命令,可以下git的客户端,在git bash中执行命令)
Administrator@OXPLAJ8T7PEPCDB MINGW64 ~
$ curl --user root:root --data disable http://localhost:8080/jenkins/job/login/disable
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7 0 0 100 7 0 7 0:00:01 --:--:-- 0:00:01 56
Administrator@OXPLAJ8T7PEPCDB MINGW64 ~
$ curl --user root:root --data enable http://localhost:8080/jenkins/job/login/enable
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 6 0 0 100 6 0 6 0:00:01 --:--:-- 0:00:01 42
Administrator@OXPLAJ8T7PEPCDB MINGW64 ~
$ curl --user root:root --data build http://localhost:8080/jenkins/job/login/build
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5 0 0 100 5 0 5 0:00:01 --:--:-- 0:00:01 35
Administrator@OXPLAJ8T7PEPCDB MINGW64 ~
$
执行后在jenkins页面查看,可以看到禁用、停用、构建job