Plugins 〉JSON


Developer
Šimon Podlipský


Sign up to receive occasional product news and updates:



Data Source
community

JSON

  • Overview
  • Installation
  • Change log
  • Related content

JSON API Grafana Datasource

Build Marketplace Downloads

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.

Datasource setup

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 type Query.
  • 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 value as the label.
    "name": "namespace", // The name of the payload. If the value is empty, use the name as the label.
    "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: Metrics in builder mode

/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: Metric options in builder mode

/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" }
  ],
  "adhocFilters": [{
    "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:

Additional data variable input

/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!"}
]

Installing JSON on Grafana Cloud:

For more information, visit the docs on plugin installation.

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.

image

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 to target.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