Skip to content

Commit bf4d14d

Browse files
jeroptekton-robot
authored andcommitted
Refactor Task Results Substitution
While working on When Expressions, found that this refactor would make it easier to extend Task Results Substitution to When Expressions. Specifically moving the logic to get the results refs to resultrefresolution.go and splitting the logic to two functions with separate concerns.
1 parent cac869c commit bf4d14d

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

pkg/reconciler/pipelinerun/resources/apply.go

+1-7
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,7 @@ func ApplyContexts(spec *v1beta1.PipelineSpec, pipelineName string, pr *v1beta1.
6767

6868
// ApplyTaskResults applies the ResolvedResultRef to each PipelineTask.Params in targets
6969
func ApplyTaskResults(targets PipelineRunState, resolvedResultRefs ResolvedResultRefs) {
70-
stringReplacements := map[string]string{}
71-
72-
for _, resolvedResultRef := range resolvedResultRefs {
73-
replaceTarget := fmt.Sprintf("%s.%s.%s.%s", v1beta1.ResultTaskPart, resolvedResultRef.ResultReference.PipelineTask, v1beta1.ResultResultPart, resolvedResultRef.ResultReference.Result)
74-
stringReplacements[replaceTarget] = resolvedResultRef.Value.StringVal
75-
}
76-
70+
stringReplacements := resolvedResultRefs.getStringReplacements()
7771
for _, resolvedPipelineRunTask := range targets {
7872
// also make substitution for resolved condition checks
7973
for _, resolvedConditionCheck := range resolvedPipelineRunTask.ResolvedConditionChecks {

pkg/reconciler/pipelinerun/resources/resultrefresolution.go

+13
Original file line numberDiff line numberDiff line change
@@ -266,3 +266,16 @@ func findTaskResultForParam(taskRun *v1beta1.TaskRun, reference *v1beta1.ResultR
266266
}
267267
return nil, fmt.Errorf("Could not find result with name %s for task run %s", reference.Result, reference.PipelineTask)
268268
}
269+
270+
func (rs ResolvedResultRefs) getStringReplacements() map[string]string {
271+
replacements := map[string]string{}
272+
for _, r := range rs {
273+
replaceTarget := r.getReplaceTarget()
274+
replacements[replaceTarget] = r.Value.StringVal
275+
}
276+
return replacements
277+
}
278+
279+
func (r *ResolvedResultRef) getReplaceTarget() string {
280+
return fmt.Sprintf("%s.%s.%s.%s", v1beta1.ResultTaskPart, r.ResultReference.PipelineTask, v1beta1.ResultResultPart, r.ResultReference.Result)
281+
}

0 commit comments

Comments
 (0)