Jenkins Version: 1.651
Mail Watcher Plugin: 1.13
Pipeline: 2.0
Steps to re-produce:
1. Add dumb slave (my-node)
2. Configure - Notify when node online status changes (ticked)
3. Create pipeline job (MY_JOB), using node:
node('my-node') {
echo 'hello world'
}
Logs from build run:
Apr 22, 2016 12:16:15 PM org.jenkinsci.plugins.workflow.job.WorkflowRun finish
INFO: MY_JOB #1 completed: SUCCESS
Apr 22, 2016 12:16:15 PM org.jenkinsci.plugins.mailwatcher.NodeAwailabilityListener onFinalized
INFO: Unable to identify the slave of MY_JOB #1 (class org.jenkinsci.plugins.workflow.job.WorkflowRun)
java.lang.Exception
at org.jenkinsci.plugins.mailwatcher.NodeAwailabilityListener.onFinalized(NodeAwailabilityListener.java:79)
at hudson.model.listeners.RunListener.fireFinalized(RunListener.java:232)
at hudson.model.Run.onEndBuilding(Run.java:1888)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.finish(WorkflowRun.java:540)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.access$1100(WorkflowRun.java:111)
at org.jenkinsci.plugins.workflow.job.WorkflowRun$GraphL.onNewHead(WorkflowRun.java:777)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.notifyListeners(CpsFlowExecution.java:843)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$4.run(CpsThreadGroup.java:340)
at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$1.run(CpsVmExecutorService.java:32)
at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
https://github.com/jenkinsci/mail-watcher-plugin/blob/master/src/main/java/org/jenkinsci/plugins/mailwatcher/NodeAwailabilityListener.java#L78