Plugins 〉JSON
JSON
JSON API Grafana Datasource
The JSON Datasource executes requests against arbitrary backends and parses JSON response into Grafana dataframes.
Installation
To install this plugin using the grafana-cli
tool:
grafana-cli plugins install simpod-json-datasource
See here for more information.
Setup
When adding datasource add your API endpoint to the URL
field. That's where datasource will make requests to.
If you want to add custom headers, keep Access set to Server
.
API
An OpenAPI definition is at openapi.yaml. You can explore it using Swagger Editor.
To work with this datasource the backend needs to implement 4 endpoints:
GET /
with 200 status code response. Used for "Test connection" on the datasource config page.POST /metrics
to return available metrics.POST /metric-payload-options
to return a list of metric payload options.POST /query
to return panel data or annotations.
Those 3 endpoints are optional:
POST /variable
to return data for Variable of typeQuery
.POST /tag-keys
returning tag keys for ad hoc filters.POST /tag-values
returning tag values for ad hoc filters.
/metrics
POST /metrics
In Panel > Queries
page. When configuring a query request using Builder
mode, it will send the request to obtain the available metrics. The request body will carry the current metric and payload. In the Builder
mode, if the reloadMetric
value in the load configuration is true, the api will also be triggered when the value is modified / switched.
Example request:
{}
Or.
{
"metric": "DescribeMetricList",
"payload":{
"cloud": "cf6591c5dad211eaa22100163e120f6e",
"namespace": "MySQL"
}
}
Example response:
[{
"label": "Describe metric list", // Optional. If the value is empty, use the value as the label
"value": "DescribeMetricList", // The value of the option.
"payloads": [{ // Configuration parameters of the payload.
"label": "Namespace", // The label of the payload. If the value is empty, use the name as the label.
"name": "namespace", // The name of the payload.
"type": "select", // If the value is select, the UI of the payload is a radio box. If the value is multi-select, the UI of the payload is a multi selection box; if the value is input, the UI of the payload is an input box; if the value is textarea, the UI of the payload is a multiline input box. The default is input.
"placeholder": "Please select namespace", // Input box / selection box prompt information.
"reloadMetric": true, // Whether to overload the metrics API after modifying the value of the payload.
"width": 10, // Set the input / selection box width to a multiple of 8px.
"options": [{ // If the payload type is select / multi-select, the list is the configuration of the option list.
"label": "acs_mongodb", // The label of the payload select option.
"value": "acs_mongodb", // The label of the payload value.
},{
"label": "acs_rds",
"value": "acs_rds",
}]
},{
"name": "metric",
"type": "select"
},{
"name": "instanceId",
"type": "select"
}]
},{
"value": "DescribeMetricLast",
"payloads": [{
"name": "namespace",
"type": "select"
},{
"name": "metric",
"type": "select"
},{
"name": "instanceId",
"type": "multi-select"
}]
}]
The display is as follows:
/metric-payload-options
POST /metric-payload-options
When the payload type
is select
or multi-select
and the payload options
configuration is empty, expanding the drop-down menu will trigger this API. The request body will carry the current metric and payload.
Example Request:
{
"metric":"DescribeMetricList", // Current metric.
"payload": { // Current payload.
"namespace":"acs_ecs"
},
"name":"cms_metric" // The payload name of the option list needs to be obtained.
}
Example Response:
[{
"label": "CPUUtilization",
"value": "CPUUtilization"
},{
"label": "DiskReadIOPS",
"value": "DiskReadIOPS"
},{
"label": "memory_freeutilization",
"value": "memory_freeutilization"
}]
The display is as follows:
/query
POST /query
Example request:
{
"panelId": 1,
"range": {
"from": "2016-10-31T06:33:44.866Z",
"to": "2016-10-31T12:33:44.866Z",
"raw": {
"from": "now-6h",
"to": "now"
}
},
"rangeRaw": {
"from": "now-6h",
"to": "now"
},
"interval": "30s",
"intervalMs": 30000,
"maxDataPoints": 550,
"targets": [
{ "target": "Packets", "refId": "A", "payload": { "additional": "optional json" } },
{ "target": "Errors", "refId": "B" }
],
"filters": [{
"key": "City",
"operator": "=",
"value": "Berlin"
}]
}
Response body can contain anything that is or can be converted to a Grafana DataFrame using this function. Returned data will be mapped to a DataFrame through that.
Example response (metric value as a float , unix timestamp in milliseconds):
[
{
"target":"pps in",
"datapoints":[
[622,1450754160000],
[365,1450754220000]
]
},
{
"target":"pps out",
"datapoints":[
[861,1450754160000],
[767,1450754220000]
]
},
{
"target":"errors out",
"datapoints":[
[861,1450754160000],
[767,1450754220000]
]
},
{
"target":"errors in",
"datapoints":[
[861,1450754160000],
[767,1450754220000]
]
}
]
[
{
"columns":[
{"text":"Time","type":"time"},
{"text":"Country","type":"string"},
{"text":"Number","type":"number"}
],
"rows":[
[1234567,"SE",123],
[1234567,"DE",231],
[1234567,"US",321]
],
"type":"table"
}
]
The relation between target
in request and response is 1:n. You can return multiple targets in response for one requested target
.
Payload
Sending additional data for each metric is supported via the Payload
input field that allows you to enter any JSON string.
For example, when { "additional": "optional json" }
is entered into Payload
input, it is attached to the target data under "payload"
key:
{ "target": "upper_50", "refId": "A", "payload": { "additional": "optional json" } }
You can also enter variables:
/variable
POST /variable
Example request body:
{
"payload":{"target":"systems"},
"range":{
"from":"2022-02-14T08:09:32.164Z",
"to":"2022-02-21T08:09:32.164Z",
"raw":{"from":"now-7d","to":"now"}
}
}
"payload"
is value from your input in Variable edit form.
Example response
[
{"__text":"Label 1", "__value":"Value1"},
{"__text":"Label 2", "__value":"Value2"},
{"__text":"Label 3", "__value":"Value3"}
]
DataFrame is also supported.
/tag-keys
POST /tag-keys
Example request body
{ }
The tag keys api returns:
[
{"type":"string","text":"City"},
{"type":"string","text":"Country"}
]
/tag-values
POST /tag-values
Example request body
{"key": "City"}
The tag values api returns:
[
{"text": "Eins!"},
{"text": "Zwei"},
{"text": "Drei!"}
]
Grafana Cloud Free
- Free tier: Limited to 3 users
- Paid plans: $55 / user / month above included usage
- Access to all Enterprise Plugins
- Fully managed service (not available to self-manage)
Self-hosted Grafana Enterprise
- Access to all Enterprise plugins
- All Grafana Enterprise features
- Self-manage on your own infrastructure
Grafana Cloud Free
- Free tier: Limited to 3 users
- Paid plans: $55 / user / month above included usage
- Access to all Enterprise Plugins
- Fully managed service (not available to self-manage)
Self-hosted Grafana Enterprise
- Access to all Enterprise plugins
- All Grafana Enterprise features
- Self-manage on your own infrastructure
Grafana Cloud Free
.h4 . .mb-0 }
- Free tier: Limited to 3 users
- Paid plans: $55 / user / month above included usage
- Access to all Enterprise Plugins
- Fully managed service (not available to self-manage)
Self-hosted Grafana Enterprise
- Access to all Enterprise plugins
- All Grafana Enterprise features
- Self-manage on your own infrastructure
Grafana Cloud Free
- Free tier: Limited to 3 users
- Paid plans: $55 / user / month above included usage
- Access to all Enterprise Plugins
- Fully managed service (not available to self-manage)
Self-hosted Grafana Enterprise
- Access to all Enterprise plugins
- All Grafana Enterprise features
- Self-manage on your own infrastructure
Grafana Cloud Free
- Free tier: Limited to 3 users
- Paid plans: $55 / user / month above included usage
- Access to all Enterprise Plugins
- Fully managed service (not available to self-manage)
Self-hosted Grafana Enterprise
- Access to all Enterprise plugins
- All Grafana Enterprise features
- Self-manage on your own infrastructure
Installing JSON on Grafana Cloud:
Installing plugins on a Grafana Cloud instance is a one-click install; same with updates. Cool, right?
Note that it could take up to 1 minute to see the plugin show up in your Grafana.
Installing plugins on a Grafana Cloud instance is a one-click install; same with updates. Cool, right?
Note that it could take up to 1 minute to see the plugin show up in your Grafana.
Installing plugins on a Grafana Cloud instance is a one-click install; same with updates. Cool, right?
Note that it could take up to 1 minute to see the plugin show up in your Grafana.
Installing plugins on a Grafana Cloud instance is a one-click install; same with updates. Cool, right?
Note that it could take up to 1 minute to see the plugin show up in your Grafana.
Installing plugins on a Grafana Cloud instance is a one-click install; same with updates. Cool, right?
Note that it could take up to 1 minute to see the plugin show up in your Grafana.
Installing plugins on a Grafana Cloud instance is a one-click install; same with updates. Cool, right?
Note that it could take up to 1 minute to see the plugin show up in your Grafana.
Installing plugins on a Grafana Cloud instance is a one-click install; same with updates. Cool, right?
Note that it could take up to 1 minute to see the plugin show up in your Grafana.
For more information, visit the docs on plugin installation.
Installing on a local Grafana:
For local instances, plugins are installed and updated via a simple CLI command. Plugins are not updated automatically, however you will be notified when updates are available right within your Grafana.
1. Install the Data Source
Use the grafana-cli tool to install JSON from the commandline:
grafana-cli plugins install
The plugin will be installed into your grafana plugins directory; the default is /var/lib/grafana/plugins. More information on the cli tool.
Alternatively, you can manually download the .zip file for your architecture below and unpack it into your grafana plugins directory.
Alternatively, you can manually download the .zip file and unpack it into your grafana plugins directory.
2. Configure the Data Source
Accessed from the Grafana main menu, newly installed data sources can be added immediately within the Data Sources section.
Next, click the Add data source button in the upper right. The data source will be available for selection in the Type select box.
To see a list of installed data sources, click the Plugins item in the main menu. Both core data sources and installed data sources will appear.
Changelog
v0.6.3
What's Changed
- chore(deps): update yarn to v3.5.0 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/398
- chore(deps): update actions/stale action to v8 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/399
- chore(deps): update dependency ts-pattern to ^4.2.2 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/400
- chore(deps): update dependency react-virtualized-auto-sizer to ^1.0.8 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/401
- chore(deps): update dependency react-virtualized-auto-sizer to ^1.0.9 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/402
- chore(deps): update dependency react-virtualized-auto-sizer to ^1.0.11 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/404
- chore(deps): update actions/setup-go action to v4 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/397
- chore(deps): update dependency react-virtualized-auto-sizer to ^1.0.12 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/405
- chore(deps): update dependency react-virtualized-auto-sizer to ^1.0.13 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/406
- chore(deps): update dependency react-virtualized-auto-sizer to ^1.0.14 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/407
- chore(deps): update dependency eslint-plugin-jsdoc to v41 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/408
- chore(deps): bump webpack from 5.73.0 to 5.79.0 by @dependabot in https://github.com/simPod/GrafanaJsonDatasource/pull/409
- chore(deps): update dependency react-virtualized-auto-sizer to ^1.0.15 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/411
- chore(deps): update dependency eslint-plugin-jsdoc to v43 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/413
- chore(deps): bump grafana to v9.5 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/416
- chore(deps): update yarn to v3.5.1 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/417
- feat: set alerting and backend properties to false by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/419
- chore(deps): update dependency ts-pattern to ^4.3.0 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/420
- chore(deps): update dependency react-virtualized-auto-sizer to ^1.0.16 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/422
- chore(deps): update dependency react-virtualized-auto-sizer to ^1.0.17 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/423
- chore(deps): update dependency eslint-plugin-jsdoc to v44 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/421
- fix: use scoped variables in the query builder by @maartenofzo in https://github.com/simPod/GrafanaJsonDatasource/pull/414
- chore(deps): update yarn to v3.6.0 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/429
- ci: check compatibility workflow by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/431
- chore(deps): update dependency eslint-plugin-jsdoc to v46 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/427
- ci: migrate eslint by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/432
- ci: migrate prettier by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/433
- chore(grafana): migrate tsconfig by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/434
- ci: run typecheck by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/436
- chore: rename eslint to lint by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/437
- docs(grafana): config readme by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/438
- chore(deps): update dependency @grafana/eslint-config to v6 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/440
- chore(grafana): move few dev deps by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/444
- chore(grafana): add @grafana/tsconfig by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/445
- chore(grafana): add .nvmrc by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/447
- chore(deps): update grafana packages by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/446
- chore(grafana): add tslib by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/449
- chore(grafana): add $schema to plugin.json by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/451
- chore(grafana): migrate webpack by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/450
- chore(deps): update dependency sass to v1.63.4 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/452
- chore(grafana): migrate jest by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/435
- chore(grafana): use caret versions where appropriate by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/454
- chore(deps): update node.js to v18 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/448
- ci: use node 19 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/455
- chore(deps): update dependency typescript to v5 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/456
- chore(deps): update dependency react-virtualized-auto-sizer to ^1.0.20 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/425
- chore(deps): update dependency ts-pattern to v5 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/442
- ci: release via GA by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/457
New Contributors
- @maartenofzo made their first contribution in https://github.com/simPod/GrafanaJsonDatasource/pull/414
Full Changelog: https://github.com/simPod/GrafanaJsonDatasource/compare/v0.6.2...v0.6.3
v0.6.2
What's Changed
- chore(deps): update dependency ts-pattern to ^4.1.4 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/384
- chore(deps): update dependency eslint-plugin-jsdoc to v40 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/385
- chore(deps): update dependency @testing-library/react to v14 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/386
- test: update TemplateSrvStub regex by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/387
- refactor(grafana): use credentials instead of withCredentials by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/388
- refactor: remove react module types override by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/389
- refactor(grafana): use native variable types by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/390
- chore(deps): update dependency ts-pattern to ^4.2.0 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/391
- chore(deps): update dependency ts-pattern to ^4.2.1 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/393
- fix: skip scoped variables with undefined value by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/394
- fix: do not suppress datasource errors by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/395
Full Changelog: https://github.com/simPod/GrafanaJsonDatasource/compare/v0.6.1...v0.6.2
v0.6.1
What's Changed
- ci: check for dupes in lockfile by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/366
- chore(deps): bump grafana packages to latest v9 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/359
- docs: sync CHANGELOG with releases by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/367
- chore(deps): bump json5 from 2.2.1 to 2.2.3 by @dependabot in https://github.com/simPod/GrafanaJsonDatasource/pull/371
- docs(openapi): add /variable endpoint by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/372
- chore(deps): bump ua-parser-js from 1.0.32 to 1.0.33 by @dependabot in https://github.com/simPod/GrafanaJsonDatasource/pull/375
- chore(deps): bump simple-git from 3.15.1 to 3.16.0 by @dependabot in https://github.com/simPod/GrafanaJsonDatasource/pull/377
- chore(deps): update yarn to v3.4.0 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/378
- chore(deps): update yarn to v3.4.1 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/379
- chore: prepare react dom testing by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/382
- fix: properly display values in QueryBuilderTag by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/383
- chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 by @dependabot in https://github.com/simPod/GrafanaJsonDatasource/pull/381
Full Changelog: https://github.com/simPod/GrafanaJsonDatasource/compare/v0.6.0...0.6.1
v0.6.0
New Builder mode mainly implemented by @MicroOps-cn, huge thanks! 🎉 . See docs for details.
⚠️ Breaking change:
Fully implement /metrics
endpoint. Also /metric-payload-options
endpoint is recommended to be implemented.
TLDR for start, you can just change endpoint path from /search
to /metrics
and it should continue working.
What's Changed
- chore(deps): update dependency @grafana/eslint-config to v4 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/312
- chore(deps): remove @typescript-eslint/eslint-plugin as direct dep by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/313
- chore(deps): update yarn to v3.2.2 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/314
- chore(deps): update dependency @grafana/eslint-config to v5 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/317
- chore(deps): update yarn to v3.2.3 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/323
- chore(deps): update actions/stale action to v6 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/328
- chore(deps): update yarn to v3.2.4 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/329
- feat: add example server by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/330
- test: use await in tests so jest does not timeout with no reason by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/331
- chore(deps): bump loader-utils from 2.0.2 to 2.0.3 by @dependabot in https://github.com/simPod/GrafanaJsonDatasource/pull/333
- chore(deps): bump terser from 5.14.1 to 5.15.1 by @dependabot in https://github.com/simPod/GrafanaJsonDatasource/pull/334
- chore(deps): bump loader-utils from 2.0.3 to 2.0.4 by @dependabot in https://github.com/simPod/GrafanaJsonDatasource/pull/335
- chore(deps): update yarn to v3.3.0 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/336
- chore(deps): bump simple-git from 3.7.1 to 3.15.1 by @dependabot in https://github.com/simPod/GrafanaJsonDatasource/pull/340
- New features: builder mode (like the builder mode of Prometheus). by @MicroOps-cn in https://github.com/simPod/GrafanaJsonDatasource/pull/324
- chore(deps): update dependency @grafana/experimental to v1 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/342
- chore(deps): update yarn to v3.3.1 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/343
- chore(deps): update actions/stale action to v7 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/344
- fix: change /options method to POST by @0xMihir in https://github.com/simPod/GrafanaJsonDatasource/pull/345
- refactor: drop Format (queryType) by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/346
- ci: run eslint and prettier in CI by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/348
- refactor: drop MetricConfig.text by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/347
- refactor: improve unknown payload by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/349
- refactor: rename Beta to Experimental by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/351
- refactor: rename /options to /metric-payload-options by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/350
- refactor: reuse getMetricPayloadOptions() by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/352
- docs: drop TOC since it can be generated by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/353
- docs: use images from v0.6 in Readme by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/354
- docs: refresh setup image by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/355
- docs: use absolute paths to images by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/356
- docs: refresh builder images by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/357
- chore: add plugin-interactive-tools by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/358
- chore(deps): bump grafana eslint config to v5.1 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/361
- docs: mention Swagger editor by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/362
- chore: raise openapi version to 3.0.3 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/363
- ci: make renovate bump non-dev deps by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/360
- chore(deps): update dependency react-virtualized-auto-sizer to ^1.0.7 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/364
v0.5.0
- chore: require Grafana 9 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/308
- chore(deps): update dependency @grafana/runtime to v9 by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/298
- chore(deps): update grafana packages to v9 (major) by @renovate in https://github.com/simPod/GrafanaJsonDatasource/pull/310
- ci: bump Node to v17 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/305
- ci: bump Node to v18 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/311
v0.4.2
- fix: update openapi.yaml to match changes from v0.3.0. by @taylor-sutton in https://github.com/simPod/GrafanaJsonDatasource/pull/281
- Update /variables in README.md by @umyio in https://github.com/simPod/GrafanaJsonDatasource/pull/288 https://github.com/simPod/GrafanaJsonDatasource/pull/304
- Update @grafana deps patch versions + rxjs
- Drop unused annotations code by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/252
v0.4.1
- Document new
/variable
endpoint by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/232
v0.4.0
This adds support for Query Variables. They now call /variable
endpoint instead of /search
.
If you've used this datasource with Query Variables before, it will stop working for you probably. Open an issue for support.
What's Changed
- Upgrade grafana deps to v8.1.x by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/193
- Bump tmpl from 1.0.4 to 1.0.5 by @dependabot in https://github.com/simPod/GrafanaJsonDatasource/pull/194
- Upgrade Grafana deps to v8.1.5 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/195
- Do not use
event.currentTarget.name
as it's fragile by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/196 - Use proper VariableQuery variable in
VariableQueryEditor::checkValidJSON()
by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/197 - Do not override MetricFindValue type by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/198
- Use rxjs by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/199
- Upgrade @types/lodash to 4.14.176 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/210
- Upgrade rxjs to 7.4 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/211
- Add workflow_dispatch trigger to GA by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/212
- Use actions/setup-node@v2 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/214
- Run CI on node 16 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/216
- Use Yarn v3 by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/215
- Fix Readme typo by @chenyahui in https://github.com/simPod/GrafanaJsonDatasource/pull/220
- Add types to DataSource by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/228
- Bump to Grafana 8.3.x deps by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/227
- Add support for querying variables by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/200
- Replace stale bot with GA by @simPod in https://github.com/simPod/GrafanaJsonDatasource/pull/229
v0.3.0
Features
- DataFrame is supported. Every response is converted to DataFrame now.
- Uses native Annotations
interval
variables are supported
Breaking Changes
- Removed Format As input and with that a
type
field in request. - Field
target.data
in request was renamed totarget.payload
(edit your Dashboard's JSON for easy migration). - You should resave your variables as the legacy support has been dropped (it requires
{ query: string, format: string }
shape) https://github.com/simPod/GrafanaJsonDatasource/commit/77a042f56f334ee1e48b396a7a459cea028d0b3d
Constraint is set to Grafana 8.0.0+
v0.2.6
Query Variables now have Raw JSON
switch. When enabled, the query string is parsed as a JSON object. Otherwise when disabled, the query string is placed into a target
key to create a JSON object.
v0.2.5
- Security dep bumps
- Do not issue a query when metric is not selected #165
- This should be a last version in 0.2.x row
v0.2.4
- Fixed order of processing Additional JSON, so we're first replacing variables and JSON parse after that in #149 (@istvan86-nagy)
v0.2.3
- Upgrade deps to @grafana v7.3
- Require Grafana 7.3