Tiếp tục chúng ta sẽ đên với bài cấu hình điều kiên trong workflow.
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
name: wf-conditional
spec:
entrypoint: dag-template
arguments:
parameters:
- name: messageA
value: A
- name: messageB
value: B
templates:
- name: dag-template
inputs:
parameters:
- name: messageA
- name: messageB
dag:
tasks:
- name: Task1
arguments:
parameters: [{name: text, value: "{{inputs.parameters.messageA}}"}]
template: task-decision
- name: TaskA
template: task-a
dependencies: [Task1]
when: "{{tasks.Task1.outputs.result}} == A"
- name: TaskB
template: task-b
dependencies: [Task1]
when: "{{tasks.Task1.outputs.result}} == B"
- name: task-decision
inputs:
parameters:
- name: text
script:
image: python:3.8-slim
command:
source: |
p = "{{inputs.parameters.text}}"
print(p)
- name: task-a
script:
image: python:3.8-slim
command:
source: |
print("Task A was executed")
- name: task-b
script:
image: python:3.8-slim
command:
source: |
print("Task B was executed")

When: sẽ là conditional của workflow.
Nếu output của task1 là A thì run template A

Chúng ta cùng soi TaskB

Bạn sẽ thấy nó báo là:
MESSAGE
when 'A == B' evaluated false
Vì thế nó không chạy step B