diff --git a/public/app/plugins/datasource/grafana/datasource.ts b/public/app/plugins/datasource/grafana/datasource.ts index 3bf772d160c..0e779b234eb 100644 --- a/public/app/plugins/datasource/grafana/datasource.ts +++ b/public/app/plugins/datasource/grafana/datasource.ts @@ -57,10 +57,17 @@ class GrafanaDatasource { if (!_.isArray(options.annotation.tags) || options.annotation.tags.length === 0) { return this.$q.when([]); } + const delimiter = '__delimiter__'; const tags = []; for (const t of params.tags) { - const renderedValues = this.templateSrv.replace(t, {}, 'pipe'); - for (const tt of renderedValues.split('|')) { + const renderedValues = this.templateSrv.replace(t, {}, value => { + if (typeof value === 'string') { + return value; + } + + return value.join(delimiter); + }); + for (const tt of renderedValues.split(delimiter)) { tags.push(tt); } } diff --git a/public/app/plugins/datasource/grafana/specs/datasource.test.ts b/public/app/plugins/datasource/grafana/specs/datasource.test.ts index 3a52e278690..3c0205640e2 100644 --- a/public/app/plugins/datasource/grafana/specs/datasource.test.ts +++ b/public/app/plugins/datasource/grafana/specs/datasource.test.ts @@ -14,7 +14,7 @@ describe('grafana data source', () => { const templateSrvStub = { replace: val => { - return val.replace('$var2', 'replaced|replaced2').replace('$var', 'replaced'); + return val.replace('$var2', 'replaced__delimiter__replaced2').replace('$var', 'replaced'); }, };