diff --git a/client/taskenv/services.go b/client/taskenv/services.go index 18eede7de105..087539447c36 100644 --- a/client/taskenv/services.go +++ b/client/taskenv/services.go @@ -81,7 +81,12 @@ func interpolateMapStringInterface(taskEnv *TaskEnv, orig map[string]interface{} m := make(map[string]interface{}, len(orig)) for k, v := range orig { - m[taskEnv.ReplaceEnv(k)] = v + envK := taskEnv.ReplaceEnv(k) + if vStr, ok := v.(string); ok { + m[envK] = taskEnv.ReplaceEnv(vStr) + } else { + m[envK] = v + } } return m } diff --git a/client/taskenv/services_test.go b/client/taskenv/services_test.go index 525b6a84d347..ae5081224c25 100644 --- a/client/taskenv/services_test.go +++ b/client/taskenv/services_test.go @@ -239,6 +239,7 @@ func TestInterpolate_interpolateConnect(t *testing.T) { }, Config: map[string]interface{}{ "${config1}": 1, + "port": "${port1}", }, }, }, @@ -347,6 +348,7 @@ func TestInterpolate_interpolateConnect(t *testing.T) { }, Config: map[string]interface{}{ "_config1": 1, + "port": "12345", }, }, },