Kiwi TCMS pluginsΒΆ
You can design your own plugins which will be automatically discovered and loaded by Kiwi TCMS. There is an example in tcms/telemetry/tests/plugin but these are not limited to telemetry! They can be anything!
Your plugin should be packaged as a stand-alone Django application that
can be installed inside Kiwi TCMS! This means to produce a pip package
containing your views.py
, urls.py
, templates/
, static/
,
etc files which are standard for Django applications.
There are 2 special pieces:
a
menu.py
file defining theMENU_ITEMS
variable. The format is the same astcms.settings.common.MENU_ITEMS
inside
setup.py
you need to define anentry_point
:setup( ... entry_points={"kiwitcms.plugins": ["your_plugin_name = your_plugin_module"]}, )
Kiwi TCMS will auto-discover plugins with the kiwitcms.plugins
entry point and:
- append them to
INSTALLED_APPS
so that templates, static files and everything else can be discovered. This means models and migrations too; - append their menu to
MENU_ITEMS
under the PLUGINS navigation item so that users can access the plugin via the web interface; - include their URL config in
urlpatterns
, using the plugin name as the URL path for inclusion!
After you have tested your plugin and packaged it as a pip package the only thing you have to do is install the tarball inside the Docker image!