web-dev-qa-db-de.com

Jenkins-Befehl, um die Anzahl der Builds in der Warteschlange abzurufen

Ich versuche, die Anzahl der Builds in der Jenkins Build Queue zu ermitteln.

Darf ich den Befehl Jenkins kennen, um die Anzahl der Builds in der Warteschlange zu ermitteln?

11
Lokith

Siehe Jenkins ' Remote Access API.

Zugriff auf die API-Beschreibung mit:

  http://<Your Jenkins>/api/

und die tatsächlichen Daten mit:

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

Die Build-Warteschlange verfügt über eine eigene API:

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

mit seinen Daten:

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

Das geht ganz einfach mit Jenkins Script Console :

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

Es ist auch möglich, groovige Skripte remote auszuführen. Zum Beispiel von der Kommandozeile:

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

Hinweis : Benutzer mit dem angegebenen Benutzername sollten Zugriff auf die Jenkins Script Console haben.

4

Hier ist eine Shell-Skript-Implementierung der genannten 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
3

Versuchen Sie 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} ]
0
mainframer