curl 调用jenkins的api
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
欢迎加入自动化测试交流QQ群:143535941 ,进群问题回答:testway 讨论自动化问题 扫描二维码关注公众号,获取自动化方面干货文章