[JIRA] (JENKINS-54673) currentBuild.getBuildCauses(type) fails when type is a cause contributed by a plugin

142 views
Skip to first unread message

mkobit@gmail.com (JIRA)

unread,
Nov 16, 2018, 11:58:02 AM11/16/18
to jenkinsc...@googlegroups.com
Mike Kobit created an issue
 
Jenkins / Bug JENKINS-54673
currentBuild.getBuildCauses(type) fails when type is a cause contributed by a plugin
Issue Type: Bug Bug
Assignee: Unassigned
Components: workflow-support-plugin
Created: 2018-11-16 16:57
Environment: Jenkins ver. 2.138.3
workflow support 2.22
all latest plugin uploads as of issue creation
Priority: Major Major
Reporter: Mike Kobit

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:

currentBuild.getBuildCauses('org.jenkinsci.plugins.workflow.cps.replay.ReplayCause')

Fails with: 

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.

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

mkobit@gmail.com (JIRA)

unread,
Nov 16, 2018, 12:01:02 PM11/16/18
to jenkinsc...@googlegroups.com
Mike Kobit updated an issue
Change By: Mike Kobit
{{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.

dnusbaum@cloudbees.com (JIRA)

unread,
Mar 20, 2019, 4:29:03 PM3/20/19
to jenkinsc...@googlegroups.com

dnusbaum@cloudbees.com (JIRA)

unread,
Mar 20, 2019, 4:29:04 PM3/20/19
to jenkinsc...@googlegroups.com
Devin Nusbaum resolved as Fixed
 
Change By: Devin Nusbaum
Status: Open Resolved
Resolution: Fixed
Released As: workflow-support 2.24
Reply all
Reply to author
Forward
0 new messages