currentBuild.getBuildCauses(type) was added in 2.22 which seems to work for Jenkins built-in causes but fails when trying to look-up causes contributed by plugins.
java.lang.ClassNotFoundException: org.jenkinsci.plugins.workflow.cps.replay.ReplayCause
at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374)
at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327)
at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper.getBuildCauses(RunWrapper.java:152)
...
My presumption is that it is not using the correct classloader.
{{currentBuild.getBuildCauses(type)}} was added in 2.22 which seems to work for Jenkins built-in causes but fails when trying to look-up causes contributed by plugins.
Example - replay after building first time with failure to see echo'd output shown below: {code:java} echo "${currentBuild.buildCauses}" currentBuild.getBuildCauses('org.jenkinsci.plugins.workflow.cps.replay.ReplayCause') {code} Fails with: {noformat} [Pipeline] echo [[_class:hudson.model.Cause$UserIdCause, shortDescription:Started by user anonymous, userId:null, userName:anonymous], [_class:org.jenkinsci.plugins.workflow.cps.replay.ReplayCause, shortDescription:Replayed #9]] [Pipeline] End of Pipeline
java.lang.ClassNotFoundException: org.jenkinsci.plugins.workflow.cps.replay.ReplayCause at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper.getBuildCauses(RunWrapper.java:152)
...{noformat}
My presumption is that it is not using the correct classloader.