From 12793bfbeda86fbb7390275dc0d6ab12bf1e4ad9 Mon Sep 17 00:00:00 2001 From: ismail simsek Date: Mon, 11 Dec 2023 16:09:21 +0100 Subject: [PATCH] InfluxDB: Interpolate tag keys in influxql queries (#79288) * interpolate tag keys * fix unit tests --- public/app/plugins/datasource/influxdb/datasource.test.ts | 2 +- public/app/plugins/datasource/influxdb/datasource.ts | 1 + .../plugins/datasource/influxdb/datasource_backend_mode.test.ts | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/public/app/plugins/datasource/influxdb/datasource.test.ts b/public/app/plugins/datasource/influxdb/datasource.test.ts index c66320737b3..405f6b41be5 100644 --- a/public/app/plugins/datasource/influxdb/datasource.test.ts +++ b/public/app/plugins/datasource/influxdb/datasource.test.ts @@ -285,7 +285,7 @@ describe('InfluxDataSource Frontend Mode', () => { const ds = new InfluxDatasource(getMockDSInstanceSettings(), templateSrv); function influxChecks(query: InfluxQuery) { - expect(templateSrv.replace).toBeCalledTimes(11); + expect(templateSrv.replace).toBeCalledTimes(12); expect(query.alias).toBe(text); expect(query.measurement).toBe(textWithFormatRegex); expect(query.policy).toBe(textWithFormatRegex); diff --git a/public/app/plugins/datasource/influxdb/datasource.ts b/public/app/plugins/datasource/influxdb/datasource.ts index 1f629384ad0..3b80766e82c 100644 --- a/public/app/plugins/datasource/influxdb/datasource.ts +++ b/public/app/plugins/datasource/influxdb/datasource.ts @@ -256,6 +256,7 @@ export default class InfluxDatasource extends DataSourceWithBackend { return { ...tag, + key: this.templateSrv.replace(tag.key, scopedVars, this.interpolateQueryExpr), value: this.templateSrv.replace(tag.value, scopedVars, this.interpolateQueryExpr), }; }); diff --git a/public/app/plugins/datasource/influxdb/datasource_backend_mode.test.ts b/public/app/plugins/datasource/influxdb/datasource_backend_mode.test.ts index 7665a83954d..5cad53c98ae 100644 --- a/public/app/plugins/datasource/influxdb/datasource_backend_mode.test.ts +++ b/public/app/plugins/datasource/influxdb/datasource_backend_mode.test.ts @@ -176,7 +176,7 @@ describe('InfluxDataSource Backend Mode', () => { const ds = new InfluxDatasource(getMockDSInstanceSettings(), templateSrv); function influxChecks(query: InfluxQuery) { - expect(templateSrv.replace).toBeCalledTimes(11); + expect(templateSrv.replace).toBeCalledTimes(12); expect(query.alias).toBe(text); expect(query.measurement).toBe(textWithFormatRegex); expect(query.policy).toBe(textWithFormatRegex);