JIRA modules allow add-ons to extend the functionality of the JIRA platform or a JIRA application. JIRA modules are commonly used to extend the user interface by adding links, panels, etc. However, some JIRA modules can also be used to extend other parts of JIRA, like permissions and workflows. JIRA Service Desk and JIRA Software also have their own application-specific modules (UI-related only).
You can use a JIRA module by declaring it in your add-on descriptor, with the appropriate properties. For example, the following code uses a web section and web item to add a 'myItem' menu to the JIRA header.
1 2 3 4 5 6 7 8 9
<web-section name="mySection" i18n-name-key="my-section.name" key="my-section" location="my-item-link" weight="1000"> <description key="my-section.description">The mySection Plugin</description> </web-section> <web-item name="myItem" i18n-name-key="my-item.name" key="my-item" section="system.top.navigation.bar" weight="1000"> <description key="my-item.description">The myItem Plugin</description> <label key="my-item.label"></label> </web-item>
There are three kinds of basic module:
You can also insert custom web fragments into existing ones in JIRA (e.g. web sections which are 'built in' to JIRA). However, you cannot redefine JIRA's existing web fragments. We recommend downloading the JIRA source (valid JIRA license required), so you can access the appropriate source files that define JIRA's existing web fragments. This will help you:
Basic modules can be used in the following locations in the JIRA UI:
Advanced modules have pre-defined locations in JIRA (e.g. Project tab panel module) or are used for a feature that is not related to the UI (e.g. Index document configuration module). These modules are also declared in your add-on descriptor, however you do not need to define a location for them.
In the list of modules below, any module which is not a basic module is an advanced module.