我是Jenkins的新手,我不確定這是否可行,但我想設置一個Web界面,在這裏有人可以點擊「開始工作」,這將告訴詹金斯開始一個特定的構建工作。調用jenkins外部的jenkins構建?
詹金斯有一個web服務,可以允許這樣的事情嗎?如果是這樣,有人可以指導我或發表一個簡單的例子嗎?
我是Jenkins的新手,我不確定這是否可行,但我想設置一個Web界面,在這裏有人可以點擊「開始工作」,這將告訴詹金斯開始一個特定的構建工作。調用jenkins外部的jenkins構建?
詹金斯有一個web服務,可以允許這樣的事情嗎?如果是這樣,有人可以指導我或發表一個簡單的例子嗎?
以下是文檔鏈接:Jenkins Remote Access API。
查看Submitting jobs部分。
在您的作業配置中,您設置了一個令牌,然後創建POST
請求JENKINS_URL/job/JOBNAME/build?token=TOKEN
。這可能是最基本的用法。
Jenkins有一個記錄的REST API。你可以讓你的小web服務調用它。
啊哈,在文檔中找到它。如此簡單:http://YOURHOST/jenkins/job/PROJECTNAME/build
有一個使用Python的上述API的很好的例子。該項目名爲Python Jenkins,您可以在這裏找到它:link
Jenkins也支持參數化構建。
所以,如果你想傳遞可配置構建代的參數,你可以在調用Jenkins構建請求時通過發佈它來傳遞它們,http:// YOURHOST
/jenkins/job/PROJECTNAME/buildWithParameters。
的http://部分服務器/工作/ myjob/buildWithParameters記號=記號&爲parameter = value
,你可以在這個文件看看 https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build
curl -H POST http://USERNAME:[email protected]_HOST:PORT/job/JOB_NAME/build?token=YOUR_TOKEN
在作業配置設置令牌/構建觸發器/觸發器遠程構建。
隨着如果你有多個參數傳遞像一個令牌,你可能要引用在Linux上殼參數捲曲:
curl -H POST "http://USERNAME:[email protected]_HOST:PORT/job/JOB_NAME/build?token=YOUR_TOKEN&PARAMETER=VALUE"
我需要添加參數,我想做到這一點通過https。我花了一段時間,但以下工作對我來說:
curl --request POST --url 'https://HOST_NAME/job/JOB_NAME/buildWithParameters?token=TOKEN' --header 'cache-control: no-cache' --header 'content-type: application/x-www-form-urlencoded' --data 'name1=value1&name2=value2'
你能解決這??,我要做同樣的事情,你可以讓我知道你是如何排序這個任何示例代碼或鏈接.. – Sam 2012-10-23 00:00:18
是的,它實際上很簡單。就像所選的答案所說的那樣,您以JENKINS_URL/job/JOBNAME/build的形式調用URL?令牌= TOKEN 您在設置作業時設置了令牌。 – chaimp 2012-10-23 00:23:11
如何傳遞參數,如mvn命令行參數。 – Sam 2012-10-23 00:25:39