Core Plugins and tasks Switch

Core Plugins and tasks Switch

Certified

Route to task groups based on a value.

Renders value and matches it against cases keys; executes the corresponding task list or defaults if no match. Supports errors and finally blocks.

Useful for branching on categorical inputs without nesting multiple Ifs.

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.flow.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 }}"
Properties

The value to be evaluated

SubTypearray

The map of keys and a list of tasks to be executed if the conditional value matches the key

List of tasks to run if any tasks failed on this FlowableTask.

Reference (ref) of the pluginDefaults to apply to this task.

Defaultfalse