import hudson.model.*;
import hudson.AbortException;
import jenkins.model.Jenkins;
@NonCPS
def allNodes = jenkins.model.Jenkins.instance.nodes
def triggerJob = false
for (String node: allNodes) {
if ( node.getComputer().isOnline() && node.nodeName == "ABC" ) {
println node.nodeName + " " + node.getComputer().countBusy() + " " +
node.getComputer().isAcceptingTasks()
triggerJob = true
break
}
}
if (triggerJob) {
println("triggering build as node is available")
build job: 'jobName', parameters:
[
/** list of string Parameters **/
]
}
Above job triggers the build, but fails with:
an exception which occurred: in field hudson.model.Slave.launcher Caused: java.io.NotSerializableException: hudson.slaves.JNLPLauncher