Jenkins command to get number of builds in queue

2019-02-16 12:39发布

I am trying to get the number of builds in the Jenkins Build Queue.

May I know the Jenkins command to get the number of builds running in the queue ?

4条回答
迷人小祖宗
2楼-- · 2019-02-16 13:04

Try 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楼-- · 2019-02-16 13:17

See Jenkins' Remote access API.

Access the API description with:

  http://<Your Jenkins>/api/

and the actual data with:

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

The Build queue has its own separate API:

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

with its data:

  http://<Your Jenkins>/queue/api/xml
查看更多
仙女界的扛把子
4楼-- · 2019-02-16 13:18

Here is a shell script implementation of the mentioned Jenkins 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
查看更多
我欲成王,谁敢阻挡
5楼-- · 2019-02-16 13:25

That's easy to do with Jenkins Script Console:

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

Also that's possible to execute groovy script remotely. For example, from command line:

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

Note: user with specified username should have access to Jenkins Script Console.

查看更多
登录 后发表回答