mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 18:34:52 -06:00
254 lines
28 KiB
Markdown
254 lines
28 KiB
Markdown
+++
|
|
# -------------------------------------------------------------------------
|
|
# Do not edit this file. It is automatically generated by json-schema-docs.
|
|
# -------------------------------------------------------------------------
|
|
title = "plugin.json"
|
|
keywords = ["grafana", "plugins", "documentation"]
|
|
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** | Dependencies needed by the plugin. |
|
|
| `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`, `panel`. |
|
|
| `$schema` | string | No | Schema definition for the plugin.json file. |
|
|
| `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. |
|
|
| `autoEnabled` | boolean | No | Set to true for app plugins that should be enabled by default in all orgs |
|
|
| `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`, `sql`, `enterprise`, `other`. |
|
|
| `enterpriseFeatures` | [object](#enterprisefeatures) | No | Grafana Enerprise specific features. |
|
|
| `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 `<executable>_<$GOOS>_<lower case $GOARCH><.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 | For data source plugins, include hidden queries in the data request. |
|
|
| `includes` | [object](#includes)[] | No | Resources to include in plugin. |
|
|
| `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 Explore. |
|
|
| `preload` | boolean | No | Initialize plugin on startup. By default, the plugin initializes on first use. |
|
|
| `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. |
|
|
| `state` | string | No | Marks a plugin as a pre-release. Possible values are: `alpha`, `beta`. |
|
|
| `streaming` | boolean | No | For data source plugins, if the plugin supports streaming. |
|
|
| `tables` | boolean | No | This is an undocumented feature. |
|
|
| `tracing` | boolean | No | For data source plugins, if the plugin supports tracing. |
|
|
|
|
## dependencies
|
|
|
|
Dependencies needed by the plugin.
|
|
|
|
### 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` | [object](#plugins)[] | No | An array of required plugins on which this plugin depends. |
|
|
|
|
### plugins
|
|
|
|
Plugin dependency. Used to display information about plugin dependencies in the Grafana UI.
|
|
|
|
#### Properties
|
|
|
|
| Property | Type | Required | Description |
|
|
| --------- | ------ | -------- | -------------------------------------------------- |
|
|
| `id` | string | **Yes** | |
|
|
| `name` | string | **Yes** | |
|
|
| `type` | string | **Yes** | Possible values are: `app`, `datasource`, `panel`. |
|
|
| `version` | string | **Yes** | |
|
|
|
|
## enterpriseFeatures
|
|
|
|
Grafana Enerprise specific features.
|
|
|
|
### Properties
|
|
|
|
| Property | Type | Required | Description |
|
|
| ------------------------- | ------- | -------- | ------------------------------------------------------------------- |
|
|
| `healthDiagnosticsErrors` | boolean | No | Enable/Disable health diagnostics errors. Requires Grafana >=7.5.5. |
|
|
|
|
## includes
|
|
|
|
### Properties
|
|
|
|
| Property | Type | Required | Description |
|
|
| ------------ | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `addToNav` | boolean | No | Add the include to the side menu. |
|
|
| `component` | string | No | (Legacy) The Angular component to use for a page. |
|
|
| `defaultNav` | boolean | No | Page or dashboard when user clicks the icon in the side menu. |
|
|
| `icon` | string | No | Icon to use in the side menu. For information on available icon, refer to [Icons Overview](https://developers.grafana.com/ui/latest/index.html?path=/story/docs-overview-icon--icons-overview). |
|
|
| `name` | string | No | |
|
|
| `path` | string | No | Used for app plugins. |
|
|
| `role` | string | No | Possible values are: `Admin`, `Editor`, `Viewer`. |
|
|
| `type` | string | No | Possible values are: `dashboard`, `page`, `panel`, `datasource`. |
|
|
| `uid` | string | No | Unique identifier of the included resource |
|
|
|
|
## 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 |
|
|
| ------------- | ------------------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
| `keywords` | string[] | **Yes** | Array of plugin keywords. Used for search on grafana.com. |
|
|
| `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. |
|
|
| `build` | [object](#build) | No | Build information |
|
|
| `description` | string | No | Description of plugin. Used on the plugins page in Grafana and 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. |
|
|
|
|
### build
|
|
|
|
Build information
|
|
|
|
#### Properties
|
|
|
|
| Property | Type | Required | Description |
|
|
| -------- | ------ | -------- | ---------------------------------------------------- |
|
|
| `branch` | string | No | Git branch the plugin was built from. |
|
|
| `hash` | string | No | Git hash of the commit the plugin was built from |
|
|
| `number` | number | No | |
|
|
| `pr` | number | No | GitHub pull request the plugin was built from |
|
|
| `repo` | string | No | |
|
|
| `time` | number | No | Time when the plugin was built, as a Unix timestamp. |
|
|
|
|
### 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 | |
|
|
|
|
## 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 |
|
|
| -------------- | ----------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `body` | [object](#body) | No | For data source plugins. Route headers set the body content and length to the proxied request. |
|
|
| `headers` | array | No | For data source plugins. Route headers adds HTTP headers to the proxied request. |
|
|
| `jwtTokenAuth` | [object](#jwttokenauth) | No | For data source plugins. Token authentication section used with an JWT OAuth API. |
|
|
| `method` | string | No | For data source plugins. Route method matches the HTTP verb like GET or POST. Multiple methods can be provided as a comma-separated list. |
|
|
| `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. |
|
|
|
|
### body
|
|
|
|
For data source plugins. Route headers set the body content and length to the proxied request.
|
|
|
|
| Property | Type | Required | Description |
|
|
| -------- | ---- | -------- | ----------- |
|
|
|
|
### jwtTokenAuth
|
|
|
|
For data source plugins. Token authentication section used with an JWT OAuth API.
|
|
|
|
#### Properties
|
|
|
|
| Property | Type | Required | Description |
|
|
| -------- | ----------------- | -------- | --------------------------------------------------------------------- |
|
|
| `params` | [object](#params) | No | Parameters for the JWT token authentication request. |
|
|
| `scopes` | string[] | No | The list of scopes that your application should be granted access to. |
|
|
| `url` | string | No | URL to fetch the JWT token. |
|
|
|
|
#### params
|
|
|
|
Parameters for the JWT token authentication request.
|
|
|
|
##### Properties
|
|
|
|
| Property | Type | Required | Description |
|
|
| -------------- | ------ | -------- | ----------- |
|
|
| `client_email` | string | No | |
|
|
| `private_key` | string | No | |
|
|
| `token_uri` | string | No | |
|
|
|
|
### tokenAuth
|
|
|
|
For data source plugins. Token authentication section used with an OAuth API.
|
|
|
|
#### Properties
|
|
|
|
| Property | Type | Required | Description |
|
|
| -------- | ----------------- | -------- | --------------------------------------------------------------------- |
|
|
| `params` | [object](#params) | No | Parameters for the token authentication request. |
|
|
| `scopes` | string[] | No | The list of scopes that your application should be granted access to. |
|
|
| `url` | string | No | URL to fetch the authentication token. |
|
|
|
|
#### params
|
|
|
|
Parameters for the token authentication request.
|
|
|
|
##### Properties
|
|
|
|
| Property | Type | Required | Description |
|
|
| --------------- | ------ | -------- | ----------------------------------------------------------------------------------------- |
|
|
| `client_id` | string | No | OAuth client ID |
|
|
| `client_secret` | string | No | OAuth client secret. Usually populated by decrypting the secret from the SecureJson blob. |
|
|
| `grant_type` | string | No | OAuth grant type |
|
|
| `resource` | string | No | OAuth resource |
|