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 討論自動化問題 掃描二維碼關注公眾號,獲取自動化方面干貨文章