Wie bekomme ich eine Liste der laufenden Jenkins-Builds per Groovy-Skript?

Gibt es eine Möglichkeit, eine Liste der RUNNING-Builds in Jenkins über ein System Groovy-Skript abzurufen? Ich habe versucht, die beschäftigten Executoren zu durchlaufen, aber von einem Executor-Objekt kann ich das Build-Objekt nicht abrufen:

def busyExecutors = Jenkins.instance.computers
                                .collect { 
                                  c -> c.executors.findAll { it.isBusy() }
                                }
                                .flatten() // reminder: transforms list(list(executor)) into list(executor)

busyExecutors.each { e -> 
  println('=====print out methods of executor object=======');
  println e.metaClass.methods*.name.sort().unique();

}

Ich kann auch auf den Job abzielen, an dem ich interessiert bin:

def item = hudson.model.Hudson.instance.getItem("my_job");
println item.metaClass.methods*.name.sort().unique(); 

Aber dann muss ich 100s (wenn nicht mehr) Builds durchlaufen und jeden Build fragen, ob sie ausgeführt werden.

Es muss eine einfachere / bessere Möglichkeit geben, eine Liste der laufenden Builds zu erhalten.

Es gibt viele Informationen darüber, wie man verschiedene Dinge über System Groovy Scripts (von denen einige ich geschrieben habe) macht, aber ich kann nicht herausfinden, wie man eine Liste der laufenden Builds bekommt:

Wie wird der Knotenname des aktuellen Jobs in Jenkins mithilfe von groovy @ abgerufe

https: //wiki.jenkins-ci.org/display/JENKINS/Jenkins+Script+Consol

https: //gist.github.com/dnozay/e7afcf7a7dd8f73a4e0

Wie kann man einen Jenkins / Hudson-Job dazu bringen, andere Jobs zu überblicken und zu entscheiden, ob man baut oder nicht?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage