Skip to content

Commit 7c55f23

Browse files
update logic in Output function
Signed-off-by: Pushparaj Shetty K S <[email protected]>
1 parent 03acaf5 commit 7c55f23

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

Diff for: pkg/hooks/data_passing.go

+7-9
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,15 @@ func Output(ctx wfContext.Context, taskValue cue.Value, step v1alpha1.WorkflowSt
6464
SetAdditionalNameInStatus(stepStatus, step.Name, step.Properties, status)
6565
for _, output := range step.Outputs {
6666
v, err := value.LookupValueByScript(taskValue, output.ValueFrom)
67-
if err != nil && strings.Contains(err.Error(), "not exist") && !strings.Contains(output.ValueFrom, "$returns.") {
68-
parts := strings.Split(output.ValueFrom, ".")
69-
if len(parts) > 1 {
70-
v, err = value.LookupValueByScript(taskValue, fmt.Sprintf("%s.$returns.%s", parts[0], strings.Join(parts[1:], ".")))
71-
} else {
72-
v, err = value.LookupValueByScript(taskValue, fmt.Sprintf("%s.$returns", output.ValueFrom))
73-
}
74-
} else if v.Err() != nil && !strings.Contains(output.ValueFrom, "$returns.") {
67+
if (err != nil && strings.Contains(err.Error(), "not exist") || v.Err() != nil) && !strings.Contains(output.ValueFrom, "$returns.") {
7568
parts := strings.Split(output.ValueFrom, "output.")
7669
if len(parts) > 1 {
77-
v, err = value.LookupValueByScript(taskValue, fmt.Sprintf("%soutput.$returns.%s", parts[0], strings.Join(parts[1:], ".")))
70+
if parts[0] == "" {
71+
v, err = value.LookupValueByScript(taskValue, fmt.Sprintf("output.$returns.%s", strings.Join(parts[1:], ".")))
72+
} else {
73+
v, err = value.LookupValueByScript(taskValue, fmt.Sprintf("%soutput.$returns.%s", parts[0], strings.Join(parts[1:], ".")))
74+
}
75+
7876
} else {
7977
v, err = value.LookupValueByScript(taskValue, fmt.Sprintf("%s.$returns", output.ValueFrom))
8078
}

0 commit comments

Comments
 (0)