An Atlassian plugin can implement one or more plugin modules to affect the underlying Atlassian application. You can add modules to a plugin project using the Atlassian Plugin SDK. The command lets you generate the initial plugin module code through a series of prompts. The module types you can create vary by target application. The modules listed below comprise the common module types; they apply across application types.
Below is detailed information of each plugin module type.
Plugin module types, as defined in this guide, are generally available in all Atlassian applications. But in some cases, an application may exclude support for a specific module type -- the plugin module descriptor is not loaded into the application and the module type is therefore not available. Please refer to the application's plugin guide for more information about which module types are supported.
While developing a cross-product plugin, you may find yourself needing different implementations/components to be running in the various applications. This can be accomplished with the attribute. The attribute works on all plugin module descriptors.
For example, let's say we have a plugin that works in both JIRA and Confluence, but we want application-specific implementations to be used as components. We can declare the following in our :
1 2 3 4
<component key="jiraPluginComponent" class="com.example.JiraPluginComponent" interface="com.example.PluginComponent" application="jira" /> <component key="confluencePluginComponent" class="com.example.ConfluencePluginComponent" interface="com.example.PluginComponent" application="confluence" />