web-dev-qa-db-fra.com

Commande Jenkins pour obtenir le nombre de builds dans la file d'attente

J'essaie d'obtenir le nombre de builds dans la file d'attente des builds Jenkins.

Puis-je connaître la commande Jenkins pour connaître le nombre de versions exécutées dans la file d'attente?

11
Lokith

Voir Jenkins ' API d'accès distant.

Accédez à la description de l'API avec:

  http://<Your Jenkins>/api/

et les données réelles avec:

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

La file d'attente de génération possède sa propre API distincte:

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

avec ses données:

  http://<Your Jenkins>/queue/api/xml
9
Gerold Broser

C'est facile à faire avec Jenkins Script Console :

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

En outre, il est possible d'exécuter un script groovy à distance. Par exemple, en ligne de commande:

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

Note: l'utilisateur ayant spécifié nom d'utilisateur devrait avoir accès à Jenkins Script Console.

4
Vitalii Elenhaupt

Voici une implémentation de script Shell de l'API Jenkins REST mentionnée.

_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
3
Nick Constantine

Essayez API Jenkins en 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} ]
0
mainframer