+++ # ------------------------------------------------------------------------- # Do not edit this file. It is automatically generated by json-schema-docs. # ------------------------------------------------------------------------- title = "plugin.json" keywords = ["grafana", "plugins", "documentation"] type = "docs" aliases = ["/docs/grafana/latest/plugins/developing/plugin.json/"] +++ # plugin.json The plugin.json file is required for all plugins. When Grafana starts, it scans the plugin folders and mounts every folder that contains a plugin.json file unless the folder contains a subfolder named dist. In that case, Grafana mounts the dist folder instead. ## Properties | Property | Type | Required | Description | |-----------------|-------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `dependencies` | [object](#dependencies) | **Yes** | Plugin dependencies. | | `id` | string | **Yes** | Unique name of the plugin. If the plugin is published on grafana.com, then the plugin id has to follow the naming conventions. | | `info` | [object](#info) | **Yes** | Metadata for the plugin. Some fields are used on the plugins page in Grafana and others on grafana.com if the plugin is published. | | `name` | string | **Yes** | Human-readable name of the plugin that is shown to the user in the UI. | | `type` | string | **Yes** | Plugin type. Possible values are `app`, `datasource`, and `panel`. | | `alerting` | boolean | No | For data source plugins. If the plugin supports alerting. | | `annotations` | boolean | No | For data source plugins. If the plugin supports annotation queries. | | `backend` | boolean | No | If the plugin has a backend component. | | `category` | string | No | Plugin category used on the Add data source page. Possible values are: `tsdb`, `logging`, `cloud`, `tracing`, and `sql`. | | `executable` | string | No | The first part of the file name of the backend component executable. There can be multiple executables built for different operating system and architecture. Grafana will check for executables named `_<$GOOS>_<.exe for Windows>`, e.g. `plugin_linux_amd64`. Combination of $GOOS and $GOARCH can be found here: https://golang.org/doc/install/source#environment. | | `hiddenQueries` | boolean | No | | | `includes` | [object](#includes)[] | No | | | `logs` | boolean | No | For data source plugins. If the plugin supports logs. | | `metrics` | boolean | No | For data source plugins. If the plugin supports metric queries. Used in the Explore feature. | | `mixed` | boolean | No | Not to be used by external plugins. Special property for the built-in mixed plugin. | | `module` | string | No | | | `partials` | [object](#partials) | No | | | `queryOptions` | [object](#queryoptions) | No | For data source plugins. There is a query options section in the plugin's query editor and these options can be turned on if needed. | | `routes` | [object](#routes)[] | No | For data source plugins. Proxy routes used for plugin authentication and adding headers to HTTP requests made by the plugin. For more information, refer to [Authentication for data source plugins](https://grafana.com/docs/grafana/latest/developers/plugins/authentication/). | | `skipDataQuery` | boolean | No | For panel plugins. Hides the query editor. | | `sort` | number | No | Internal property for sorting. Cannot be used as will be overwritten by Grafana. | | `staticRoot` | string | No | | | `streaming` | boolean | No | For data source plugins. If the plugin supports streaming. | | `tables` | boolean | No | | | `tracing` | boolean | No | For data source plugins. If the plugin supports tracing. | ## dependencies Plugin dependencies. ### Properties | Property | Type | Required | Description | |---------------------|----------|----------|-------------------------------------------------------------------------------------------------------------------------------| | `grafanaDependency` | string | **Yes** | Required Grafana version for this plugin. Validated using https://github.com/npm/node-semver. | | `grafanaVersion` | string | No | (Deprecated) Required Grafana version for this plugin, e.g. `6.x.x 7.x.x` to denote plugin requires Grafana v6.x.x or v7.x.x. | | `plugins` | string[] | No | An array of required plugins on which this plugin depends. | ## includes ### Properties | Property | Type | Required | Description | |--------------|---------|----------|-------------| | `addToNav` | boolean | No | | | `component` | string | No | | | `defaultNav` | boolean | No | | | `name` | string | No | | | `role` | string | No | | | `type` | string | No | | ## info Metadata for the plugin. Some fields are used on the plugins page in Grafana and others on grafana.com if the plugin is published. ### Properties | Property | Type | Required | Description | |---------------|--------------------------|----------|-------------------------------------------------------------------------------------------------------------------------------| | `logos` | [object](#logos) | **Yes** | SVG images that are used as plugin icons. | | `updated` | string | **Yes** | Date when this plugin was built. | | `version` | string | **Yes** | Project version of this commit, e.g. `6.7.x`. | | `author` | [object](#author) | No | Information about the plugin author. | | `description` | string | No | Description of plugin. Used on the plugins page in Grafana and for search on grafana.com. | | `keywords` | string[] | No | Array of plugin keywords. Used for search on grafana.com. | | `links` | [object](#links)[] | No | An array of link objects to be displayed on this plugin's project page in the form `{name: 'foo', url: 'http://example.com'}` | | `screenshots` | [object](#screenshots)[] | No | An array of screenshot objects in the form `{name: 'bar', path: 'img/screenshot.png'}` | ### author Information about the plugin author. #### Properties | Property | Type | Required | Description | |----------|--------|----------|---------------------------| | `email` | string | No | Author's name. | | `name` | string | No | Author's name. | | `url` | string | No | Link to author's website. | ### links #### Properties | Property | Type | Required | Description | |----------|--------|----------|-------------| | `name` | string | No | | | `url` | string | No | | ### logos SVG images that are used as plugin icons. #### Properties | Property | Type | Required | Description | |----------|--------|----------|------------------------------------------------------------------------------------------------------------------------------| | `large` | string | **Yes** | Link to the "large" version of the plugin logo, which must be an SVG image. "Large" and "small" logos can be the same image. | | `small` | string | **Yes** | Link to the "small" version of the plugin logo, which must be an SVG image. "Large" and "small" logos can be the same image. | ### screenshots #### Properties | Property | Type | Required | Description | |----------|--------|----------|-------------| | `name` | string | No | | | `path` | string | No | | ## partials ### Properties | Property | Type | Required | Description | |----------|--------|----------|-------------| | `config` | string | No | | ## queryOptions For data source plugins. There is a query options section in the plugin's query editor and these options can be turned on if needed. ### Properties | Property | Type | Required | Description | |-----------------|---------|----------|----------------------------------------------------------------------------------------------------------------------------| | `cacheTimeout` | boolean | No | For data source plugins. If the `cache timeout` option should be shown in the query options section in the query editor. | | `maxDataPoints` | boolean | No | For data source plugins. If the `max data points` option should be shown in the query options section in the query editor. | | `minInterval` | boolean | No | For data source plugins. If the `min interval` option should be shown in the query options section in the query editor. | ## routes For data source plugins. Proxy routes used for plugin authentication and adding headers to HTTP requests made by the plugin. For more information, refer to [Authentication for data source plugins](https://grafana.com/docs/grafana/latest/developers/plugins/authentication/). ### Properties | Property | Type | Required | Description | |---------------|----------------------|----------|---------------------------------------------------------------------------------------------------------| | `headers` | array | No | For data source plugins. Route headers adds HTTP headers to the proxied request. | | `method` | string | No | For data source plugins. Route method matches the HTTP verb like GET or POST. | | `path` | string | No | For data source plugins. The route path that is replaced by the route URL field when proxying the call. | | `reqRole` | string | No | | | `reqSignedIn` | boolean | No | | | `tokenAuth` | [object](#tokenauth) | No | For data source plugins. Token authentication section used with an OAuth API. | | `url` | string | No | For data source plugins. Route URL is where the request is proxied to. | ### tokenAuth For data source plugins. Token authentication section used with an OAuth API. #### Properties | Property | Type | Required | Description | |----------|-------------------|----------|---------------------------------------------------------------------------| | `params` | [object](#params) | No | For data source plugins. Parameters for the token authentication request. | | `url` | string | No | For data source plugins. URL to fetch the authentication token. | #### params For data source plugins. Parameters for the token authentication request. ##### Properties | Property | Type | Required | Description | |-----------------|--------|----------|--------------------------------------------------------------------------------------------------------------------| | `client_id` | string | No | For data source plugins. OAuth client id. | | `client_secret` | string | No | For data source plugins. OAuth client secret. Usually populated by decrypting the secret from the SecureJson blob. | | `grant_type` | string | No | For data source plugins. OAuth grant type. | | `resource` | string | No | For data source plugins. OAuth resource. |