Run tasks conditionally, i.e. decide which branch of tasks should be executed based on a given value.
This task runs a set of tasks based on a given value. The value is evaluated at runtime and compared to the list of cases. If the value matches a case, the corresponding tasks are executed. If the value does not match any case, the default tasks are executed.
yaml
type: "io.kestra.plugin.core.flow.Switch"
yaml
id: switch
namespace: company.team
inputs:
- id: string
type: STRING
required: true
tasks:
- id: switch
type: io.kestra.plugin.core.flows.Switch
value: "{{ inputs.string }}"
cases:
FIRST:
- id: first
type: io.kestra.plugin.core.debug.Return
format: "{{ task.id }} > {{ taskrun.startDate }}"
SECOND:
- id: second
type: io.kestra.plugin.core.debug.Return
format: "{{ task.id }} > {{ taskrun.startDate }}"
THIRD:
- id: third
type: io.kestra.plugin.core.debug.Return
format: "{{ task.id }} > {{ taskrun.startDate }}"
defaults:
- id: default
type: io.kestra.plugin.core.debug.Return
format: "{{ task.id }} > {{ taskrun.startDate }}"
Default false