下記のサンプルでは、現在マスターサーバに登録されている Jenkins スレーブをループで処理しています。 ループ中は、Slave オブジェクトの情報を扱うことができます。
for (slave in jenkins.model.Jenkins.instance.slaves) {
println "Slave name: ${slave.name}"
println "Slave class: ${slave.class}"
println "Slave node description: ${slave.nodeDescription}"
println "Slave root path: ${slave.rootPath}"
println "Slave label: ${slave.labelString}"
println "Slave num executors: ${slave.numExecutors}"
println '----'
}
Slave name: mynode1
Slave class: class hudson.slaves.DumbSlave
Slave node description: xxx
Slave URL: xxx
Slave label: xxx
Slave num executors: 1
---
...
import jenkins.model.Jenkins
Jenkins.instance.slaves.each {
boolean isOn = it.getComputer().isOnline();
println it.name + (isOn ? ": ON" : ": OFF")
}
mynode1: ON
mynode2: OFF
mynode3: OFF