From ba5886d42c66e0db935e142580c331ece1d08bf5 Mon Sep 17 00:00:00 2001 From: Sofia Papagiannaki Date: Fri, 24 Jul 2020 11:12:44 +0300 Subject: [PATCH] DashboardImport: Fix variable interpolation when property contains multiple variable expressions (#26574) (cherry picked from commit 5e73a923272c6ce69bf3c7c80e5bd940e6ed6c93) --- pkg/plugins/dashboard_importer.go | 2 +- pkg/plugins/dashboard_importer_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/plugins/dashboard_importer.go b/pkg/plugins/dashboard_importer.go index f2905fd4048..2eeaac23ba6 100644 --- a/pkg/plugins/dashboard_importer.go +++ b/pkg/plugins/dashboard_importer.go @@ -126,7 +126,7 @@ func (this *DashTemplateEvaluator) findInput(varName string, varType string) *Im func (this *DashTemplateEvaluator) Eval() (*simplejson.Json, error) { this.result = simplejson.New() this.variables = make(map[string]string) - this.varRegex, _ = regexp.Compile(`(\$\{.+\})`) + this.varRegex, _ = regexp.Compile(`(\$\{.+?\})`) // check that we have all inputs we need for _, inputDef := range this.template.Get("__inputs").MustArray() { diff --git a/pkg/plugins/dashboard_importer_test.go b/pkg/plugins/dashboard_importer_test.go index c78da3ec91d..1a54d4d1b55 100644 --- a/pkg/plugins/dashboard_importer_test.go +++ b/pkg/plugins/dashboard_importer_test.go @@ -58,7 +58,7 @@ func TestDashboardImport(t *testing.T) { } ], "test": { - "prop": "${DS_NAME}" + "prop": "${DS_NAME}_${DS_NAME}" } }`)) @@ -73,7 +73,7 @@ func TestDashboardImport(t *testing.T) { So(err, ShouldBeNil) Convey("should render template", func() { - So(res.GetPath("test", "prop").MustString(), ShouldEqual, "my-server") + So(res.GetPath("test", "prop").MustString(), ShouldEqual, "my-server_my-server") }) Convey("should not include inputs in output", func() {