From 23f82000422338a66524812f8341f0ea763609d1 Mon Sep 17 00:00:00 2001 From: Andrey Melnikov Date: Tue, 19 Jan 2021 13:03:07 -0800 Subject: [PATCH 1/2] feat: add {{workspace.uid}} to parameters as a replacable value --- pkg/workflow_execution.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkg/workflow_execution.go b/pkg/workflow_execution.go index 9a712a56..cff65b4c 100644 --- a/pkg/workflow_execution.go +++ b/pkg/workflow_execution.go @@ -461,6 +461,16 @@ func (c *Client) createWorkflow(namespace string, workflowTemplateID uint64, wor } newParameters := make([]wfv1.Parameter, 0) + + // Only used for workspaces. sysName is the workspace uid + sysName := "" + for i := range wf.Spec.Arguments.Parameters { + param := wf.Spec.Arguments.Parameters[i] + if param.Name == "sys-name" { + sysName = *param.Value + } + } + for i := range wf.Spec.Arguments.Parameters { param := wf.Spec.Arguments.Parameters[i] if param.Value != nil { @@ -469,6 +479,15 @@ func (c *Client) createWorkflow(namespace string, workflowTemplateID uint64, wor return nil, reErr } value := re.ReplaceAllString(*param.Value, namespace) + + if sysName != "" { + reWorkspaceUid, reErr := regexp.Compile(`{{\s*workspace.uid\s*}}`) + if reErr != nil { + return nil, reErr + } + value = reWorkspaceUid.ReplaceAllString(*param.Value, sysName) + } + param.Value = &value } From 734d793d838ff2997ed7112d26b9e976590033c0 Mon Sep 17 00:00:00 2001 From: Andrey Melnikov Date: Tue, 19 Jan 2021 13:19:10 -0800 Subject: [PATCH 2/2] chore: codacy formatting --- pkg/workflow_execution.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/workflow_execution.go b/pkg/workflow_execution.go index cff65b4c..2ad3dbca 100644 --- a/pkg/workflow_execution.go +++ b/pkg/workflow_execution.go @@ -481,11 +481,11 @@ func (c *Client) createWorkflow(namespace string, workflowTemplateID uint64, wor value := re.ReplaceAllString(*param.Value, namespace) if sysName != "" { - reWorkspaceUid, reErr := regexp.Compile(`{{\s*workspace.uid\s*}}`) + reWorkspaceUID, reErr := regexp.Compile(`{{\s*workspace.uid\s*}}`) if reErr != nil { return nil, reErr } - value = reWorkspaceUid.ReplaceAllString(*param.Value, sysName) + value = reWorkspaceUID.ReplaceAllString(*param.Value, sysName) } param.Value = &value