For example, I want to list slaves that are defined in "Foo" jobs: Project_Foo1, Project_Foo2 etc...
def matchedJobs = Jenkins.instance.items.findAll { job ->
job.name =~ /Foo/
}
I can list projects name, but how to get the slave names?
some groovy way
def matchedJobs = Jenkins.instance.items.findAll{ job ->
job.name =~ /test/ && job.getAssignedLabel() != null
}.collect { job ->
"${job.name}: ${job.getAssignedLabel().getNodes().collect({it.getNodeName()==""?"master":it.getNodeName()}).join(',')}\n"
}.each { slaves ->
println slaves
}