2015-07-10 409 views

回答

8

參見Jenkins' Remote access API.

接入與API描述:

http://<Your Jenkins>/api/ 

,並與實際數據:

http://<Your Jenkins>/api/xml 

構建隊列都有自己單獨的API:

http://<Your Jenkins>/queue/api/ 

及其數據:

http://<Your Jenkins>/queue/api/xml 
0

嘗試Jenkins API in Python

get_jobs() 
    Get list of jobs running. 
    Each job is a dictionary with ‘name’, ‘url’, and ‘color’ keys. 
Returns: list of jobs, [ { str: str} ] 
3

這很容易與Jenkins Script Console做到:

println Hudson.instance.queue.items.length 
// => 2 

也是有可能遠程執行Groovy腳本。例如,在命令行:

$ curl -u username:password -d "script=println Hudson.instance.queue.items.length" jenkins_url/scriptText 
2 

注意:與指定用戶名應該有機會獲得詹金斯腳本控制檯用戶。

+1

注意,在最近的版本現在的呼叫'Jenkins.instance.queue.items.size()',或者如果你從腳本中調用它''jenkins.model.Jenkins.instance.queue.items.size()' – jpyams

2

這裏是一個shell腳本執行中提到詹金斯REST API

_queuesize=$(curl -s -k -m 60 http://${yourjenkinsserver}:8180/jenkins/queue/api/xml 2>/dev/null | grep -c '<item>') 
if [[ -z "${_queuesize}" ]]; then 
    _queuesize=0; 
fi 
+1

對我來說,我不得不從url中刪除「jenkins」:http:// $ {yourjenkinsserver}:8180/queue/API/XML –