Merge task variables — null vs. undefined

Breaking change notice (2023.2.0)

Use of null and undefined values in merge and child job tasks

In the 2023.2 feature release, Itential has standardized how jobs compile and handle task variables at runtime. This change allows you to identify the true inputs and outputs to a task, and affects how Itential Platform decodes inputs for the merge and childjob tasks at runtime.

Beginning with 2023.2:

  • The merge task returns null when there is an “Undefined Key in Task with Multiple Outputs (JST Task).”
  • undefined is returned when a Child Job Task has an “Undefined Job Variable.”

Whether this is a breaking change in your workflow depends on the version you are migrating from.

What should I do?

Since the use of null or undefined is not recommended in workflow design, this breaking change will not apply to everyone.

For those who do use null or undefined in their workflows, different task types determine how these values are treated. Use the matrix below to find the expected result for your scenario:

  1. Choose the undefined scenario in the top header row.
  2. Find the outgoing task type in the first column.
  3. The cell where the two meet shows how the input resolves.
Undefined task inputUndefined key in task with multiple outputs (JST task)Undefined job variable
Merge tasknullnullundefined
Eval tasknullnullundefined
Transformation tasknullnullundefined
Child Job tasknullnullundefined
Workflow Engine automated tasknullnullundefined
Non-WFE automated tasknullnullnull