Jenkins命令以获取队列中的生成数

Jenkins命令以获取队列中的生成数,jenkins,jenkins-cli,Jenkins,Jenkins Cli,我正在尝试获取Jenkins生成队列中的生成数 我可以知道Jenkins命令以获取队列中运行的生成数吗?请参阅Jenkins's 通过以下方式访问API说明: http://<Your Jenkins>/api/ http:///api/ 实际数据包括: http://<Your Jenkins>/api/xml http:///api/xml 生成队列有自己单独的API: http://<Your Jenkins>/queue/api/

我正在尝试获取Jenkins生成队列中的生成数

我可以知道Jenkins命令以获取队列中运行的生成数吗?

请参阅Jenkins's

通过以下方式访问API说明:

  http://<Your Jenkins>/api/
http:///api/
实际数据包括:

  http://<Your Jenkins>/api/xml
http:///api/xml
生成队列有自己单独的API:

  http://<Your Jenkins>/queue/api/
http:///queue/api/
其数据如下:

  http://<Your Jenkins>/queue/api/xml
http:///queue/api/xml
试试看

这很容易做到:

也可以远程执行groovy脚本。例如,从命令行:

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

注意:具有指定用户名的用户应该可以访问Jenkins脚本控制台。

这里是提到的Jenkins REST API的shell脚本实现

_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
\u queuesize=$(curl-s-k-m60 http://${yourjenkinserver}:8180/jenkins/queue/api/xml 2>/dev/null | grep-c')
如果[[-z“${u queuesize}”];然后
_队列大小=0;
fi

我只需要使用这个很棒的“jq”实用工具定义一个bash变量,就可以得到队列长度:

  QUEUE_SIZE=$(curl -s -k http://<your-jenkins-here>/queue/api/json | jq '.items | length')
QUEUE_SIZE=$(curl-s-k)http:///queue/api/json |jq.“项目|长度”)

希望这有帮助

对我来说,我必须从url:http://${yourjenkinsserver}:8180/queue/api/xmlNote中删除“jenkins”,在更新的版本中,调用现在是
jenkins.instance.queue.items.size()
,或者如果您是从脚本调用它,
jenkins.model.jenkins.instance.queue.items.size()
,我们如何获取作业名称?
_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
  QUEUE_SIZE=$(curl -s -k http://<your-jenkins-here>/queue/api/json | jq '.items | length')