Input defaults are now dynamic​Input defaults are now dynamic

Available on: Open Source EditionEnterprise Edition

Release: 1.0.0

Overview

The defaults property of all inputs is now dynamic. This change has implications for users who use a Pebble expression as a default value. Consider this use case:

yaml
id: session
namespace: company.team

inputs:
  - id: sessionId
    type: STRING
    defaults: "{{ execution.id }}"   

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "This is my session id: {{render(inputs.sessionId)}}"

Given that the defaults are now dynamically rendered, the above flow will fail in Kestra 0.24 and higher, unless you move the expression to the tasks as follows:

yaml
id: session
namespace: company.team

inputs:
  - id: sessionId
    type: STRING
    required: false

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "This is my session id: {{ inputs.sessionId ?? execution.id }}"

Was this page helpful?