Documentation
JIRA Module List
Modules are UI extension points that add-ons can use to insert content into various areas of the host application's interface. You implement a page module (along with others type of module you can use with Atlassian Connect, like webhooks) by declaring it in the add-on descriptor and implementing the add-on code that composes it.
Each application has module types that are specific for it, but there are some common types as well. For instance,
both JIRA and Confluence support the generalPages module, but only Confluence has profilePage.
An add-on can implement as many modules as needed. For example, a typical add-on would likely provide modules for at least one lifecycle element, a configuration page, and possibly multiple general pages.
Here's an example of a module declaration:
{
"name": "My Addon",
"modules": {
"webItems": [{
"conditions": [
{
"condition": "sub_tasks_enabled"
},
{
"condition": "is_issue_editable"
},
{
"condition": "is_issue_unresolved"
}
],
"location": "operations-subtasks",
"url": "/dialog",
"name": {
"value": "Create Sub-Tasks"
},
"target": {
"type": "dialog"
}
}]
}
}
In this case, we're declaring a web item which opens as a dialog. This declaration adds a dialog box to JIRA that users can open by clicking a "Create Sub-Tasks" link on an issue.
Conditions
You can specify the conditions in which the link (and therefore access to this page) appears. The Atlassian application ensures that the link only appears if it is appropriate for it to do so. In the example, the module should only appear if subtasks are enabled and the issue is both editable and unresolved.. The condition elements state conditions that must be true for the module to be in effect. Note, the condition only applies to the presence or absence of the link. You should still permission the URL that the link references if appropriate.
URLs
All module declarations must have a url attribute. The url attribute identifies the path on the add-on host to the
resource that implements the module. The URL value must be valid relative to the baseUrl value in the add-on descriptor.
The url value in our example is /dialog. This must be a resource that is accessible on your server (relative to the
base URL of the add-on). It presents the content that appears in the iframe dialog; in other words, the HTML,
JavaScript, or other type of web content source that composes the iframe content.
Note: for a webhook, the URL should be the address to which the Atlassian application posts notifications. For other
modules, such as generalPages or webItems, the URL identifies the web content to be used to compose the page.
You can request certain pieces of contextual data, such as a project or space key, to be included in the URLs requested from your add-on. See passing Context Parameters.
Properties
adminPages
Type
Admin Page, … ]Description
An admin page module is used to provide an administration chrome for add-on content.
configurePage
Type
Description
A configure page module is a page module used to configure the addon itself. It's link will appear in the add-ons entry in 'Manage Add-ons'.
generalPages
Type
General Page, … ]Description
A general page module is used to provide a generic chrome for add-on content in the product.
jiraProjectAdminTabPanels
Type
Project Admin Tab Panel, … ]Description
The Project Admin Tab Panel module allows you to add new panels to the 'Project Admin' page.
jiraIssueTabPanels
Type
Issue Tab Panel, … ]Description
The Issue Tab Panel module allows you to add new tabs to the 'Browse Component' page.
jiraEntityProperties
Type
Entity Property, … ]Description
The Entity Property are add-on key/value stories in certain JIRA objects, such as issues and projects.
jiraComponentTabPanels
Type
Component Tab Panel, … ]Description
The Component Tab Panel module allows you to add new tabs to the 'Browse Component' page.
jiraProfileTabPanels
Type
User Profile Tab Panel, … ]Description
The User Profile Tab Panel module allows you to add new tabs to the 'Browse Component' page.
jiraWorkflowPostFunctions
Type
Workflow Post Function, … ]Description
Workflow post functions execute after the workflow transition is executed
jiraProjectTabPanels
Type
Project Tab Panel, … ]Description
The Project Tab Panel module allows you to add new panels to the 'Project' page.
jiraVersionTabPanels
Type
Version Tab Panel, … ]Description
The Version Tab Panel module allows you to add new panels to the 'Browse Version' page.
jiraSearchRequestViews
Type
Search Request View, … ]Description
The Search Request View is used to display different representations of search results in the issue navigator.
They will be displayed as a link in the Export toolbar menu.
webItems
Type
Web Item, … ]Description
The Web Item module allows you to define new links in application menus.
webhooks
Type
Webhooks, … ]Description
The Web Hook module allows you be notified of key events that occur in the host product
webPanels
Type
Web Panel, … ]Description
The Web Panel module allows you to define panels, or sections, on an HTML page. A panel is an iFrame that will be inserted into a page.
webSections
Type
Web Section, … ]Description
The Web Section plugin module allows you to define new sections in application menus.