1.curl
curl是利用URL語法在命令行方式下工做的開源文件傳輸工具。它被普遍應用在Unix、多種Linux發行版中,而且有DOS和Win3二、Win64下的移植版本。html
1.1 獲取url指向的頁面/資源文件;若是URL指向的是文件或者圖片等資源文件,資源文件能夠直接下載到本地json
curl http://www.baidu.com
1.2提交GET請求api
curl "wwww.baidu.com?wd=jenkins」
1.3提交POST請求curl
curl -d "wd=jenkins」 www.baidu.com
2.jenkins工具
2.1運行jobui
2.1.1無參任務url
curl -X POST http://localhost:8080/jenkins/job/plugin%20demo/build --user admin:admin
2.1.2含參任務
不設置參數/使用默認參數spa
curl -X POST http://localhost:8080/jenkins/job/commandTest/buildWithParameters --user admin:admin
2.1.3設置參數方法1命令行
curl -X POST http://localhost:8080/jenkins/job/commandTest/buildWithParameters -d port=80
2.1.4設置參數方法2code
curl -X POST http://localhost:8080/jenkins/job/commandTest/buildWithParameters -d port=80 --data-urlencode json='"{\"parameter\": [{\"name\": \"port\", \"value\": \"80\"}]}」'
2.1.5多參數
http://localhost:8080/jenkins/job/commandTest/buildWithParameters -d param1=value1¶m2=value
2.2 建立job
2.2.1 需建立目錄
1).建立job目錄
~/.jenkins/jobs/jobfromcmd
2).建立config.xml文件(可從其餘工程中複製)
3).運行命令
curl -X POST http://localhost:8080/jenkins/createItem?name=jobfromcmd --user admin:admin --data-binary "@config.xml" -H "Content-Type: text/xml」
2.2.2 不需建立目錄
1).建立config.xml文件(可從其餘工程中複製)
2).運行命令(在config.xml同一目錄下)
curl -X POST http://localhost:8080/jenkins/createItem?name=jobfromcmd --user admin:admin --data-binary "@config.xml" -H "Content-Type: text/xml」
2.2.3直接使用控制檯,不需建立xml文件(將xml內容寫入控制檯中運行)
echo '<?xml version="1.0" encoding="UTF-8"?><project>…</project>' | curl -X POST -H 'Content-type:text/xml' -d @- http://localhost:8080/jenkins/createItem?name=jobfromcmd
2.3 刪除job
curl -X POST http://localhost:8080/jenkins/job/jobfromcmd/doDelete
2.4 查詢job的狀態
curl --silent ${JENKINS_SERVER}/job/JOB_NAME/lastBuild/api/json
2.5 自動disable Project:
curl --user ${UserName}:${PASSWORD} -o /dev/null --data disable JENKINS_URL/job/JOBNAME/disable
2.6獲取build的num
curl --silent ${JENKINS_SERVER}/job/JOB_NAME/lastBuild/buildNumber
2.7獲取最近成功的build的num
curl --silent ${JENKINS_SERVER}/job/JOB_NAME/lastStableBuild/buildNumber
更多curl參考:
https://curl.haxx.se/docs/manpage.html
https://curl.haxx.se/docs/manual.html