I want to argo set the output parameter generated by previous steps to null when the step is skipped.When the step runs i am getting the correct output hello world but when the step is getting skipped iam getting the placeholder value itself as below when skip is false : Hello world when skip is true : {{steps.generate-parameter.outputs.parameters.result}}
i tried using expression but steps.generate-parameter.outputs.parameters.result is not getting resolved in expression and treating as a string
kind: Workflow
metadata:
generateName: output-parameter-
spec:
entrypoint: output-parameter
arguments:
parameters:
- name: skip
value: false
templates:
- name: output-parameter
steps:
- - name: generate-parameter
template: whalesay
when: "{{workflow.parameters.skip}} == false"
- - name: consume-parameter
template: print-message
arguments:
parameters:
- name: message
value: '{{ steps.generate-parameter.outputs.parameters.result }}'
- name: whalesay
container:
image: docker/whalesay:latest
command: [sh, -c]
args: ["sleep 1; echo -n hello world > /tmp/hello_world.txt"]
outputs:
parameters:
- name: result
default: ""
valueFrom:
default: "Foobar" # Default value to use if retrieving valueFrom fails. If not provided workflow will fail instead
path: /tmp/hello_world.txt
- name: print-message
inputs:
parameters:
- name: message
container:
image: docker/whalesay:latest
command: [cowsay]
args: ["{{inputs.parameters.message}}"]```