-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
jenkins: 2.332.4
parameterized-trigger: 2.45
Image: jenkins/jenkins:2.332.4-jdk11
java.version 11.0.15+10
-
-
parameterized-trigger-2.45
Hi,
We are using parameterized-trigger plugin with combination of build-pipeline-plugin where we connect upstream and downstream Jenkins jobs to form a pipeline view.
In above scenario if user trigger downstream job manually using pipeline view we are facing issue with fetching environment variables(CapturedEnvironmentAction.class) from upstream build. Add we specifically debugged the issue to SECURITY-2185 fix made on parameterized-trigger plugin.
Here is what we found while debug,
build-pipeline-plugin invokes the build using BuildCardExtension.java(build-pipeline-plugin) where it invokes getAction method from AbstractBuildParameters.class(parameterized-trigger-plugin) and this invokes getAction(CapturedEnvironmentAction.class) to check if capture is null and at this point return is not null so if condition invoked capture.getCapturedEnvironment()(which is empty) due to SECURITY-2185 changes
public EnvVars getEnvironment(AbstractBuild<?,?> build, TaskListener listener)
throws IOException, InterruptedException {
CapturedEnvironmentAction capture = build.getAction(CapturedEnvironmentAction.class); // not null
if (capture != null) {
return capture.getCapturedEnvironment(); // invoke but got empty
} else {
return build.getEnvironment(listener);
}
}
We are able to fix the issue by rolling back these SECURITY-2185 changes from CapturedEnvironmentAction.java but we are hopping for any of your valuable suggestions other than rollback security fixes.
build-pipeline-plugin | 1.5.8 |
parameterized-trigger | 2.45 |
Stacktrace:
AbstractBuildParameters.getEnvironment(AbstractBuild,TaskListener) (/parameterized-trigger-2.44.jar/hudson.plugins.parameterizedtrigger/AbstractBuildParameters.class:43) PredefinedBuildParameters.getAction(AbstractBuild,TaskListener) (/parameterized-trigger-2.44.jar/hudson.plugins.parameterizedtrigger/PredefinedBuildParameters.class:41) BuildCardExtension.triggerBuild(AbstractProject,AbstractBuild,Action) (/opt/app/chananne/dev/jenkins-build-pipeline-plugin/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/BuildCardExtension.java:265) BuildCardExtension.triggerManualBuild(ItemGroup,Integer,String,String) (/opt/app/chananne/dev/jenkins-build-pipeline-plugin/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/BuildCardExtension.java:221) BuildPipelineView.triggerManualBuild(Integer,String,String) (/opt/app/chananne/dev/jenkins-build-pipeline-plugin/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildPipelineView.java:457) 1145931699.invokeVirtual(Object,Object,Object,Object,Object) (Unknown Source:-1) 1810471399.invoke(Object,Object,Object,Object,Object) (Unknown Source:-1) 1203103659.invoke(Object,Object,Object) (Unknown Source:-1) Invokers$Holder.invokeExact_MT(Object,Object,Object,Object) (Unknown Source:-1) MethodHandle.invokeWithArguments(Object[]) (/java.base/java.lang.invoke/MethodHandle.class:710) Function$MethodFunction.invoke(StaplerRequest,StaplerResponse,Object,Object[]) (/stapler-1756.vec9071748061.jar/org.kohsuke.stapler/Function.class:398) Function$InstanceFunction.invoke(StaplerRequest,StaplerResponse,Object,Object[]) (/stapler-1756.vec9071748061.jar/org.kohsuke.stapler/Function.class:410) Function.bindAndInvoke(Object,StaplerRequest,StaplerResponse,Object[]) (/stapler-1756.vec9071748061.jar/org.kohsuke.stapler/Function.class:208) Function.bindAndInvokeAndServeResponse(Object,RequestImpl,ResponseImpl,Object[]) (/stapler-1756.vec9071748061.jar/org.kohsuke.stapler/Function.class:141) MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(RequestImpl,ResponseImpl,Object) (/stapler-1756.vec9071748061.jar/org.kohsuke.stapler/MetaClass.class:661) NameBasedDispatcher.dispatch(RequestImpl,ResponseImpl,Object) (/stapler-1756.vec9071748061.jar/org.kohsuke.stapler/NameBasedDispatcher.class:59) Stapler.tryInvoke(RequestImpl,ResponseImpl,Object) (/stapler-1756.vec9071748061.jar/org.kohsuke.stapler/Stapler.class:766) Stapler.invoke(RequestImpl,ResponseImpl,Object) (/stapler-1756.vec9071748061.jar/org.kohsuke.stapler/Stapler.class:898) MetaClass$9.dispatch(RequestImpl,ResponseImpl,Object) (/stapler-1756.vec9071748061.jar/org.kohsuke.stapler/MetaClass.class:475) Stapler.tryInvoke(RequestImpl,ResponseImpl,Object) (/stapler-1756.vec9071748061.jar/org.kohsuke.stapler/Stapler.class:766)