External plugin developmentedit

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 generatoredit

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 locationedit

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