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

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

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
Description

The Component Tab Panel module allows you to add new tabs to the 'Browse Component' page.

jiraProfileTabPanels

Type
Description

The User Profile Tab Panel module allows you to add new tabs to the 'Browse Component' page.

jiraWorkflowPostFunctions

Type
Description

Workflow post functions execute after the workflow transition is executed

jiraProjectTabPanels

Type
Description

The Project Tab Panel module allows you to add new panels to the 'Project' page.

jiraVersionTabPanels

Type
Description

The Version Tab Panel module allows you to add new panels to the 'Browse Version' page.

jiraSearchRequestViews

Type
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.