@@ -190,10 +190,10 @@ func getParentParameters(w *sdk.WorkflowRun, nodeRuns []*sdk.WorkflowNodeRun) ([
190
190
return nil , sdk .WithStack (fmt .Errorf ("unable to find node %d in workflow" , parentNodeRun .WorkflowNodeID ))
191
191
}
192
192
nodeName = node .Name
193
+ prefix := "workflow." + nodeName + "."
193
194
194
195
parentParams := make ([]sdk.Parameter , 0 , len (parentNodeRun .BuildParameters ))
195
196
for _ , param := range parentNodeRun .BuildParameters {
196
- prefix := "workflow." + nodeName + "."
197
197
if param .Name == "" || param .Name == "cds.semver" || param .Name == "cds.release.version" ||
198
198
strings .HasPrefix (param .Name , "cds.proj" ) ||
199
199
strings .HasPrefix (param .Name , "cds.version" ) || strings .HasPrefix (param .Name , "cds.run.number" ) ||
@@ -222,11 +222,22 @@ func getParentParameters(w *sdk.WorkflowRun, nodeRuns []*sdk.WorkflowNodeRun) ([
222
222
223
223
if param .Name == "payload" || strings .HasPrefix (param .Name , "cds.triggered" ) || strings .HasPrefix (param .Name , "cds.release" ) {
224
224
// keep p.Name as is
225
+ } else if param .Name == "cds.status" {
226
+ // do not use input status value for parent param
227
+ continue
225
228
} else if strings .HasPrefix (param .Name , "cds." ) {
226
229
param .Name = strings .Replace (param .Name , "cds." , prefix , 1 )
227
230
}
228
231
parentParams = append (parentParams , param )
229
232
}
233
+
234
+ // inject parent final status as parameter
235
+ parentParams = append (parentParams , sdk.Parameter {
236
+ Name : prefix + "status" ,
237
+ Type : sdk .StringParameter ,
238
+ Value : parentNodeRun .Status ,
239
+ })
240
+
230
241
params = append (params , parentParams ... )
231
242
}
232
243
return params , nil
0 commit comments