External plugin development
The Kibana plugin interfaces are in a state of constant development. We cannot provide backwards compatibility for plugins due to the high rate of change. Kibana enforces that the installed plugins match the version of Kibana itself. Plugin developers will have to release a new version of their plugin for each new Kibana release as a result.
Most developers who contribute code directly to the Kibana repo are writing code inside plugins, so our Contributing docs are the best place to start. However, there are a few differences when developing plugins outside the Kibana repo. These differences are covered here.
Automatic plugin generator
We recommend that you kick-start your plugin by generating it with the Kibana Plugin Generator. Run the following in the Kibana repo, and you will be asked a couple questions, see some progress bars, and have a freshly generated plugin ready for you to play with in Kibana’s plugins
folder.
node scripts/generate_plugin my_plugin_name # replace "my_plugin_name" with your desired plugin name
Plugin location
The Kibana directory must be named kibana
, and your plugin directory should be located in the root of kibana
in a plugins
directory, for example:
.
└── kibana
└── plugins
├── foo-plugin
└── bar-plugin
- Functional Tests for Plugins outside the Kibana repo
- Localization for plugins outside the Kibana repo