-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
Jenkins 2.140
envinject-plugin 2.1.3
pipeline 2.6
I have a job that starts builds of several other jobs. These builds sometimes where started with some paramers that where null by mistake (bug in the script of the upstream job).
Then global env vars where missing for one of the downstream jobs (not all of them).
Pipeline script of the downstream job:
paratext= "params: \n"
params.each
println paratext
println "env.TOOLS_BUILDSTART: "+env.TOOLS_BUILDSTART
def envVars = Jenkins.instance.getGlobalNodeProperties()[0].getEnvVars()
println "envVars: "+envVars
Output when started correctly:
Replayed #115
Running in Durability level: PERFORMANCE_OPTIMIZED
[Pipeline] echo
params:
node=null
BUILD_CLEANUP=false
VERSION_OVERRIDE=
GERRIT_TOPIC=JenkinsTest_ToolsBuildpy
TOOLS_REFSPEC=refs/changes/29/15929/4
GERRIT_REFSPEC=
GERRIT_PROJECT=
[Pipeline] echo
env.TOOLS_BUILDSTART: /opt/ToolsBuildpy/JenkinsTools/build_start.gvy
[Pipeline] echo
envVars: [TOOLS_BUILDSTART:/opt/ToolsBuildpy/JenkinsTools/build_start.gvy, TOOLS_REFSPEC__unused-usingmaster:dummy]
[Pipeline] End of Pipeline
Output when started with null parameters:
Replayed #120
Running in Durability level: PERFORMANCE_OPTIMIZED
[Pipeline] echo
params:
node=null
BUILD_CLEANUP=false
VERSION_OVERRIDE=
GERRIT_TOPIC=JenkinsTest_ToolsBuildpynull
TOOLS_REFSPEC=refs/changes/29/15929/4
GERRIT_REFSPEC=null
GERRIT_PROJECT=null
[Pipeline] echo
env.TOOLS_BUILDSTART: null
[Pipeline] echo
envVars: [TOOLS_BUILDSTART:/opt/ToolsBuildpy/JenkinsTools/build_start.gvy, TOOLS_REFSPEC__unused-usingmaster:dummy]
[Pipeline] End of Pipeline
[JENKINS-54644] parameter with null value breaks global env variables
Description |
Original:
I have a job that starts builds of several other jobs. These builds sometimes where started with some paramers that where null by mistake (bug in the script of the upstream job). Then global env vars where missing for one of the downstream jobs (not all of them). Pipeline script of the downstream job: {{paratext= "params: \n" params.each{paratext+= it.toString()+"\n"} println paratext println "env.TOOLS_BUILDSTART: "+env.TOOLS_BUILDSTART def envVars = Jenkins.instance.getGlobalNodeProperties()[0].getEnvVars() println "envVars: "+envVars}} Output when started correctly: {{Replayed #115 Running in Durability level: PERFORMANCE_OPTIMIZED [Pipeline] echo params: node=null BUILD_CLEANUP=false VERSION_OVERRIDE= GERRIT_TOPIC=JenkinsTest_ToolsBuildpy TOOLS_REFSPEC=refs/changes/29/15929/4 GERRIT_REFSPEC= GERRIT_PROJECT= [Pipeline] echo env.TOOLS_BUILDSTART: /opt/ToolsBuildpy/JenkinsTools/build_start.gvy [Pipeline] echo envVars: [TOOLS_BUILDSTART:/opt/ToolsBuildpy/JenkinsTools/build_start.gvy, TOOLS_REFSPEC__unused-usingmaster:dummy] [Pipeline] End of Pipeline Finished: SUCCESS}} Output when started with null parameters: {{Replayed #120 Running in Durability level: PERFORMANCE_OPTIMIZED [Pipeline] echo params: node=null BUILD_CLEANUP=false VERSION_OVERRIDE= GERRIT_TOPIC=JenkinsTest_ToolsBuildpynull TOOLS_REFSPEC=refs/changes/29/15929/4 GERRIT_REFSPEC=null GERRIT_PROJECT=null [Pipeline] echo {color:#DE350B}env.TOOLS_BUILDSTART: null{color} [Pipeline] echo envVars: [TOOLS_BUILDSTART:/opt/ToolsBuildpy/JenkinsTools/build_start.gvy, TOOLS_REFSPEC__unused-usingmaster:dummy] [Pipeline] End of Pipeline Finished: SUCCESS}} |
New:
I have a job that starts builds of several other jobs. These builds sometimes where started with some paramers that where null by mistake (bug in the script of the upstream job). Then global env vars where missing for one of the downstream jobs (not all of them). *Pipeline script of the downstream job:* {{paratext= "params: \n"}} {{params.each}}{{{paratext+= it.toString()+"\n"}}} {{println paratext}} {{println "env.TOOLS_BUILDSTART: "+env.TOOLS_BUILDSTART}} {{ def envVars = Jenkins.instance.getGlobalNodeProperties()[0].getEnvVars()}} {{ println "envVars: "+envVars}} *Output when started correctly:* {{Replayed #115}} {{ Running in Durability level: PERFORMANCE_OPTIMIZED}} {{ [Pipeline] echo}} {{ params: }} {{ node=null}} {{ BUILD_CLEANUP=false}} {{ VERSION_OVERRIDE=}} {{ GERRIT_TOPIC=JenkinsTest_ToolsBuildpy}} {{ TOOLS_REFSPEC=refs/changes/29/15929/4}} {{ GERRIT_REFSPEC=}} {{ GERRIT_PROJECT=}}{{[Pipeline] echo}} {{ env.TOOLS_BUILDSTART: /opt/ToolsBuildpy/JenkinsTools/build_start.gvy}} {{ [Pipeline] echo}} {{ envVars: [TOOLS_BUILDSTART:/opt/ToolsBuildpy/JenkinsTools/build_start.gvy, TOOLS_REFSPEC__unused-usingmaster:dummy]}} {{ [Pipeline] End of Pipeline}} *Output when started with null parameters:* {{Replayed #120}} {{ Running in Durability level: PERFORMANCE_OPTIMIZED}} {{ [Pipeline] echo}} {{ params: }} {{ node=null}} {{ BUILD_CLEANUP=false}} {{ VERSION_OVERRIDE=}} {{ GERRIT_TOPIC=JenkinsTest_ToolsBuildpynull}} {{ TOOLS_REFSPEC=refs/changes/29/15929/4}} {{ GERRIT_REFSPEC=null}} {{ GERRIT_PROJECT=null}}{{[Pipeline] echo}} {{ {color:#de350b}env.TOOLS_BUILDSTART: null{color}}} {{ [Pipeline] echo}} {{ envVars: [TOOLS_BUILDSTART:/opt/ToolsBuildpy/JenkinsTools/build_start.gvy, TOOLS_REFSPEC__unused-usingmaster:dummy]}} {{ [Pipeline] End of Pipeline}} |
Description |
Original:
I have a job that starts builds of several other jobs. These builds sometimes where started with some paramers that where null by mistake (bug in the script of the upstream job). Then global env vars where missing for one of the downstream jobs (not all of them). *Pipeline script of the downstream job:* {{paratext= "params: \n"}} {{params.each}}{{{paratext+= it.toString()+"\n"}}} {{println paratext}} {{println "env.TOOLS_BUILDSTART: "+env.TOOLS_BUILDSTART}} {{ def envVars = Jenkins.instance.getGlobalNodeProperties()[0].getEnvVars()}} {{ println "envVars: "+envVars}} *Output when started correctly:* {{Replayed #115}} {{ Running in Durability level: PERFORMANCE_OPTIMIZED}} {{ [Pipeline] echo}} {{ params: }} {{ node=null}} {{ BUILD_CLEANUP=false}} {{ VERSION_OVERRIDE=}} {{ GERRIT_TOPIC=JenkinsTest_ToolsBuildpy}} {{ TOOLS_REFSPEC=refs/changes/29/15929/4}} {{ GERRIT_REFSPEC=}} {{ GERRIT_PROJECT=}}{{[Pipeline] echo}} {{ env.TOOLS_BUILDSTART: /opt/ToolsBuildpy/JenkinsTools/build_start.gvy}} {{ [Pipeline] echo}} {{ envVars: [TOOLS_BUILDSTART:/opt/ToolsBuildpy/JenkinsTools/build_start.gvy, TOOLS_REFSPEC__unused-usingmaster:dummy]}} {{ [Pipeline] End of Pipeline}} *Output when started with null parameters:* {{Replayed #120}} {{ Running in Durability level: PERFORMANCE_OPTIMIZED}} {{ [Pipeline] echo}} {{ params: }} {{ node=null}} {{ BUILD_CLEANUP=false}} {{ VERSION_OVERRIDE=}} {{ GERRIT_TOPIC=JenkinsTest_ToolsBuildpynull}} {{ TOOLS_REFSPEC=refs/changes/29/15929/4}} {{ GERRIT_REFSPEC=null}} {{ GERRIT_PROJECT=null}}{{[Pipeline] echo}} {{ {color:#de350b}env.TOOLS_BUILDSTART: null{color}}} {{ [Pipeline] echo}} {{ envVars: [TOOLS_BUILDSTART:/opt/ToolsBuildpy/JenkinsTools/build_start.gvy, TOOLS_REFSPEC__unused-usingmaster:dummy]}} {{ [Pipeline] End of Pipeline}} |
New:
I have a job that starts builds of several other jobs. These builds sometimes where started with some paramers that where null by mistake (bug in the script of the upstream job). Then global env vars where missing for one of the downstream jobs (not all of them). *Pipeline script of the downstream job:* paratext= "params: \n" params.each{paratext+= it.toString()+"\n"} println paratext println "env.TOOLS_BUILDSTART: "+env.TOOLS_BUILDSTART def envVars = Jenkins.instance.getGlobalNodeProperties()[0].getEnvVars() println "envVars: "+envVars *Output when started correctly:* Replayed #115 Running in Durability level: PERFORMANCE_OPTIMIZED [Pipeline] echo params: node=null BUILD_CLEANUP=false VERSION_OVERRIDE= GERRIT_TOPIC=JenkinsTest_ToolsBuildpy TOOLS_REFSPEC=refs/changes/29/15929/4 GERRIT_REFSPEC= GERRIT_PROJECT= [Pipeline] echo env.TOOLS_BUILDSTART: /opt/ToolsBuildpy/JenkinsTools/build_start.gvy [Pipeline] echo envVars: [TOOLS_BUILDSTART:/opt/ToolsBuildpy/JenkinsTools/build_start.gvy, TOOLS_REFSPEC__unused-usingmaster:dummy] [Pipeline] End of Pipeline *Output when started with null parameters:* Replayed #120 Running in Durability level: PERFORMANCE_OPTIMIZED [Pipeline] echo params: node=null BUILD_CLEANUP=false VERSION_OVERRIDE= GERRIT_TOPIC=JenkinsTest_ToolsBuildpynull TOOLS_REFSPEC=refs/changes/29/15929/4 GERRIT_REFSPEC=null GERRIT_PROJECT=null [Pipeline] echo {color:#DE350B}env.TOOLS_BUILDSTART: null{color} [Pipeline] echo envVars: [TOOLS_BUILDSTART:/opt/ToolsBuildpy/JenkinsTools/build_start.gvy, TOOLS_REFSPEC__unused-usingmaster:dummy] [Pipeline] End of Pipeline |
Priority | Original: Minor [ 4 ] | New: Major [ 3 ] |