@@ -64,17 +64,15 @@ func Output(ctx wfContext.Context, taskValue cue.Value, step v1alpha1.WorkflowSt
64
64
SetAdditionalNameInStatus (stepStatus , step .Name , step .Properties , status )
65
65
for _ , output := range step .Outputs {
66
66
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." ) {
75
68
parts := strings .Split (output .ValueFrom , "output." )
76
69
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
+
78
76
} else {
79
77
v , err = value .LookupValueByScript (taskValue , fmt .Sprintf ("%s.$returns" , output .ValueFrom ))
80
78
}
0 commit comments