Команда Jenkins, чтобы получить количество сборок в очереди

Я пытаюсь получить количество сборок в очереди сборки Jenkins.

Могу ли я узнать команду Jenkins, чтобы получить количество запусков в очереди?

Ответ 1

См. Jenkins API удаленного доступа.

Доступ к описанию API с помощью:

  http://<Your Jenkins>/api/

и фактические данные:

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

У очереди Build есть свой отдельный API:

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

с его данными:

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

Ответ 2

Это легко сделать с Jenkins Script Консоль:

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

Также возможно удаленно выполнить groovy Script. Например, из командной строки:

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

Примечание. Пользователь с указанным именем пользователя должен иметь доступ к консоли Jenkins Script.

Ответ 3

Вот реализация оболочки script упомянутого API-интерфейса Jenkins REST

_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

Ответ 4

Попробуйте Jenkins API в 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} ]