The most common (and most powerful) way for apps to extend Jira Cloud is by adding content directly to the Jira user interface.
Jira Cloud provides a number of modules to provide different types of content. All Jira Cloud UI modules use iframes to sandbox content. There are three types of modules for apps to provide UI elements:
These modules provide content in a specific location in the Jira Cloud UI, as defined in your app descriptor. Within the Atlassian developer community, these module types are commonly referred to as web fragments. They include:
Locations for web items, web sections, and web panels are available across Jira Cloud. Consult the linked pages below for a comprehensive list of locations available on each page in Jira Cloud. There may be more valid locations that aren't documented below, but we don't guarantee that we support them.
We're currently rolling out a new issue view for Jira Cloud, with two new extension patterns: quick-add buttons, to add content to help describe issues, and glances, which let users include and show contextual information from your app on issues. You can read more about these patterns on our new issue view UI locations page, and take a look at the design guidelines to see how you can increase your user base and provide a great user experience.
Jira Cloud provides support for pages, which display content on a full screen page. There are several types of page modules. General pages are added to the Jira global sidebar, but there are other types that are available in specific locations. Review the documentation to see the various types and their uses.
Jira Cloud also provides specific module types for certain types of UI content that extend specific Jira features. These include:
Jira Software also provides locations for web items and web panels on boards, and Jira Service Desk provides several dedicated module types for integrating with the agent and customer views on tickets. You can learn more about these special module types in the Jira Software Cloud and Jira Service Desk Cloud modules pages.
There are also a number of Jira Cloud modules that extend other concepts in Jira, where Jira will handle the rendering of your data. The most common of these are Issue Fields, which allow your app to provide fields that will be treated as native Jira Cloud custom fields, and Webhooks, which allow your app to be notified when events take place in Jira Cloud. There are also modules related to permissions, time tracking, and keyboard shortcuts. See the full Jira Cloud modules reference to learn more
Most often, you won't want to load all of your modules on every page, for every user, every time. You can specify conditions in your app descriptor to determine which of your app's UI modules Jira cloud should display at which times. For example, you may want to display a certain panel if the current user is an administrator, or if a certain property on an issue has been configured.
To learn more, read conditions.
Frequently, the content you show in a panel will vary depending on the context around it (like the current issue, board, user, or project). When Jira cloud makes a request to your app to load an iframe, it can send additional context parameters to tell your app how to respond to the request and which content to display. There are some standard context parameters (like user language and timezone) as well as Jira cloud-specific parameters.
To learn more, read context parameters.