jenkinsci / jenkinsci/parameterized-trigger-plugin

[JENKINS-70393] parameterized-trigger plugin failed to fetch environment variables from upstream build on version >=2.43.1

Open
#795 0 comments 0 reactions 0 assignees View on GitHub
component:parameterized-trigger-plugin imported-jira-issue priority:major resolution:unresolved
Dominant language
Java
Stars
77
Forks
174
Avg merge
22h 27m
Merged PRs (30d)
1

Description

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)
```

---
Originally reported by annechandu, imported from: parameterized-trigger plugin failed to fetch environment variables from upstream build on version >=2.43.1


  • status: Open
  • priority: Major
  • component(s): parameterized-trigger-plugin
  • resolution: Unresolved
  • votes: 2
  • watchers: 4
  • imported: 2025-12-07

Raw content of original issue

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)

environment

```
jenkins: 2.332.4

parameterized-trigger: 2.45

Image: jenkins/jenkins:2.332.4-jdk11

java.version 11.0.15+10
```

5 attachments

- [image_2023-01-09_133015591.png](https://issues.jenkins.io/secure/attachment/59816/image_2023-01-09_133015591.png)
> ![image_2023-01-09_133015591.png](https://issues.jenkins.io/secure/attachment/59816/image_2023-01-09_133015591.png)
- [image_2023-01-09_134429044.png](https://issues.jenkins.io/secure/attachment/59815/image_2023-01-09_134429044.png)
> ![image_2023-01-09_134429044.png](https://issues.jenkins.io/secure/attachment/59815/image_2023-01-09_134429044.png)
- [image_2023-01-09_134434510.png](https://issues.jenkins.io/secure/attachment/59814/image_2023-01-09_134434510.png)
> ![image_2023-01-09_134434510.png](https://issues.jenkins.io/secure/attachment/59814/image_2023-01-09_134434510.png)
- [image_2023-01-09_134440010.png](https://issues.jenkins.io/secure/attachment/59813/image_2023-01-09_134440010.png)
> ![image_2023-01-09_134440010.png](https://issues.jenkins.io/secure/attachment/59813/image_2023-01-09_134440010.png)
- [image_2023-01-09_135625596.png](https://issues.jenkins.io/secure/attachment/59812/image_2023-01-09_135625596.png)
> ![image_2023-01-09_135625596.png](https://issues.jenkins.io/secure/attachment/59812/image_2023-01-09_135625596.png)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.