diff --git a/src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplate.java b/src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplate.java index 23751fb36..bf89887c7 100644 --- a/src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplate.java +++ b/src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplate.java @@ -766,8 +766,12 @@ public String getDescriptionForLogging() { getContainersDescriptionForLogging()); } + boolean isShowRawYamlSet() { + return showRawYaml != null; + } + public boolean isShowRawYaml() { - return showRawYaml == null ? true : showRawYaml.booleanValue(); + return isShowRawYamlSet() ? showRawYaml.booleanValue() : true; } @DataBoundSetter diff --git a/src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateUtils.java b/src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateUtils.java index ec4699d1e..f151ac979 100644 --- a/src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateUtils.java +++ b/src/main/java/org/csanchez/jenkins/plugins/kubernetes/PodTemplateUtils.java @@ -374,6 +374,7 @@ public static PodTemplate combine(PodTemplate parent, PodTemplate template) { podTemplate.setCustomWorkspaceVolumeEnabled(template.isCustomWorkspaceVolumeEnabled() ? template.isCustomWorkspaceVolumeEnabled() : parent.isCustomWorkspaceVolumeEnabled()); podTemplate.setPodRetention(template.getPodRetention()); + podTemplate.setShowRawYaml(template.isShowRawYamlSet() ? template.isShowRawYaml() : parent.isShowRawYaml()); List yamls = new ArrayList<>(parent.getYamls()); yamls.addAll(template.getYamls()); diff --git a/src/main/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/PodTemplateStep.java b/src/main/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/PodTemplateStep.java index 84467ecc3..fb0a83458 100755 --- a/src/main/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/PodTemplateStep.java +++ b/src/main/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/PodTemplateStep.java @@ -281,8 +281,12 @@ public void setPodRetention(PodRetention podRetention) { this.podRetention = podRetention; } + boolean isShowRawYamlSet() { + return showRawYaml != null; + } + public boolean isShowRawYaml() { - return showRawYaml == null ? true : showRawYaml.booleanValue(); + return isShowRawYamlSet() ? showRawYaml.booleanValue() : true; } @DataBoundSetter diff --git a/src/main/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/PodTemplateStepExecution.java b/src/main/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/PodTemplateStepExecution.java index 8b9cf3fd9..1a4fc8f75 100755 --- a/src/main/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/PodTemplateStepExecution.java +++ b/src/main/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/PodTemplateStepExecution.java @@ -120,7 +120,9 @@ public boolean start() throws Exception { newTemplate.setImagePullSecrets( step.getImagePullSecrets().stream().map(x -> new PodImagePullSecret(x)).collect(toList())); newTemplate.setYaml(step.getYaml()); - newTemplate.setShowRawYaml(step.isShowRawYaml()); + if (step.isShowRawYamlSet()) { + newTemplate.setShowRawYaml(step.isShowRawYaml()); + } newTemplate.setPodRetention(step.getPodRetention()); if(step.getActiveDeadlineSeconds() != 0) { diff --git a/src/test/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/KubernetesPipelineTest.java b/src/test/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/KubernetesPipelineTest.java index 0ef5cdfb2..b0f3ddcb9 100644 --- a/src/test/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/KubernetesPipelineTest.java +++ b/src/test/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/KubernetesPipelineTest.java @@ -412,6 +412,13 @@ public void runInPodWithShowRawYamlFalse() throws Exception { r.assertLogNotContains("value: \"container-env-var-value\"", b); } + @Issue("JENKINS-58574") + @Test + public void showRawYamlFalseInherited() throws Exception { + r.assertBuildStatusSuccess(r.waitForCompletion(b)); + r.assertLogNotContains("value: \"container-env-var-value\"", b); + } + @Test @Issue("JENKINS-58405") public void overrideYaml() throws Exception { diff --git a/src/test/resources/org/csanchez/jenkins/plugins/kubernetes/pipeline/showRawYamlFalseInherited.groovy b/src/test/resources/org/csanchez/jenkins/plugins/kubernetes/pipeline/showRawYamlFalseInherited.groovy new file mode 100644 index 000000000..bb5c9bd25 --- /dev/null +++ b/src/test/resources/org/csanchez/jenkins/plugins/kubernetes/pipeline/showRawYamlFalseInherited.groovy @@ -0,0 +1,26 @@ +podTemplate(showRawYaml: false) { podTemplate(yaml: ''' +apiVersion: v1 +kind: Pod +spec: + containers: + - name: busybox + image: busybox + command: + - cat + tty: true + env: + - name: CONTAINER_ENV_VAR + value: container-env-var-value +''' +) +{ + node(POD_LABEL) { + stage('Run') { + container('busybox') { + sh ''' + echo "anything" + ''' + } + } + } +} } \ No newline at end of file