Bitbucket modules
Common modules
Compass modules
Confluence modules
Jira modules
Jira Service Management modules
Rovo modules (Preview)

Jira admin page

The jira:adminPage module adds an item in the Apps section of the left navigation of Jira admin settings. When the item is clicked, content is rendered on a new Jira page.

This module can be used in Jira Work Management, Jira Software, and Jira Service Management.

The page URL is constructed in the following format: /jira/settings/apps/{appId}/{envId}

For UI Kit 1, see the AdminPage component documentation for an example. When adding this to your app, use it as a top-level component.

Example of an admin page

To organize your Jira admin space and simplify the app management, create Configure and Get started pages.

Configure page

On the Configure page, you can store your app’s configure settings.

The page URL is constructed in the following format: /jira/settings/apps/configure/{appId}/{envId}

Example of a configure page

To create this page, use the useAsConfig property.

When it’s set to true, it creates a Configure button that leads to this page from the app's entry in Manage Apps.

Example of a configure button in Manage Apps

The jira:adminPage entry with the useAsConfig property won't be displayed on the sidebar.

Related: Configuring apps

Get started page

On the Get started page, you can provide information on how to start using your app.

The page URL is constructed in the following format: /jira/settings/apps/get-started/{appId}/{envId}

Example of a get started page

To create this page, use the useAsGetStarted property.

When it’s set to true, it creates a Get started button that leads to this page from the app's entry in Manage Apps.

Example of a get started button in Manage Apps

The jira:adminPage entry with the useAsGetStarted property won’t be displayed on the sidebar.

Related: Manage your apps

Subpages

By default, the jira:adminPage module registers a top-level page. However, you can register multiple pages using the pages and sections properties.

Use pages to add individual pages to the sidebar and sections to group pages.

Handle sidebar URLs

The sidebar will only change the admin page URL, you'll need to handle routes inside your custom UI app using view.createHistory().

Limitations

Subpages only work with custom UI.

Subpages are not supported by the Configure and Get started pages.

Validation rules

Take into account the following validation rules when creating a jira:adminPage entry:

  • the jira:AdminPage module can only have a single entry that doesn’t include either useAsConfig or useAsGetStarted properties.
  • the jira:AdminPage module can only have a single entry that includes either useAsConfig or useAsGetStarted property.
  • the jira:AdminPage entry that includes either useAsConfig or useAsGetStarted properties can’t include either pages or sections.

You'll see an error message if these aren't followed.

Manifest example

The jira:adminPage module example containing both Configure and Get Started pages:

1
2
modules:
  jira:adminPage:
    - key: admin-page-example-hello-world-admin-page
      resource: main-admin-page
      title: Admin page example
      render: native
      resolver: 
        function: resolver
    - key: admin-page-example-hello-world-configure-page
      resource: main-configure-page
      title: Configure page example
      render: native
      resolver: 
        function: resolver
      useAsConfig: true
    - key: admin-page-example-hello-world-get-started-page
      resource: main-get-started-page
      title: Get started page example
      render: native
      resolver: 
        function: resolver
      useAsGetStarted: true
  function:
    - key: resolver
      handler: index.handler
resources:
  - key: main-admin-page
    path: src/frontend/main-admin-page.jsx
  - key: main-configure-page
    path: src/frontend/main-configure-page.jsx
  - key: main-get-started-page
    path: src/frontend/main-get-started-page.jsx

Properties

PropertyTypeRequiredDescription
key

string

Yes

A key for the module, which other modules can refer to. Must be unique within the manifest.

Regex: ^[a-zA-Z0-9_-]+$

resourcestringIf using Custom UI or modern versions of UI KitThe key of a static resources entry that your module will display. See resources for more details.
render'native'If using modern versions of UI KitIndicates the module uses UI Kit.
functionstringDeprecated Required if using UI Kit 1The key of a function module that returns a UI Kit 1 component.
resolver{ function: string } or
{ endpoint: string }

Set the function property if you are using a hosted function module for your resolver.

Set the endpoint property if you are using Forge remote to integrate with a remote back end.

titlestring or i18n objectYes

The title of the admin page, which is displayed at the top of the page. The title also appears as an item in the Apps section of the left navigation of Jira admin settings.

The i18n object allows for translation and is available to participants of the Internationalization for Forge EAP. See i18n object.

iconstring

The icon displayed next to the title.


For custom UI and UI Kit apps, the icon property accepts a relative path from a declared resource. Alternatively, you can also use an absolute URL to a self-hosted icon. See Icons for more information.

If no icon is provided, or if there's an issue preventing the icon from loading, a generic app icon will be displayed.

layout UI Kit:
  • native
  • basic
Custom UI:
  • native
  • blank
  • basic (deprecated)
(default: native)
The layout of the admin page that defines whether a page is rendered with default controls (native), lays out the entire viewport with a margin on the left and breadcrumbs (basic for UI Kit), or is left blank allowing for full customization (blank for custom UI).
useAsConfigbooleanSee the description here.
useAsGetStartedbooleanSee the description here.
pagesPage[]You can only specify `pages` or `sections` but not both.The list of subpages to render on the sidebar.
sectionsSection[]The list of sections to render on the sidebar.
displayConditionsobjectThe object that defines whether or not a module is displayed in the UI of the app. See display conditions.

i18n object

Internationalization (i18n) for Forge apps is now available through Forge's Early Access Program (EAP). For details on how to sign up for the EAP, see the changelog announcement.

EAPs are offered to selected users for testing and feedback purposes. APIs and features under EAP are unsupported and subject to change without notice. APIs and features under EAP are not recommended for use in production environments.

For more details, see Forge EAP, Preview, and GA.

KeyTypeRequiredDescription
i18nstringYesA key referencing a translated string in the translation files. For more details, see Translations.

Page

PropertyTypeRequiredDescription
titlestring or i18n objectYes

The title of the subpage, which is displayed on the sidebar.

The i18n object allows for translation and is available to participants of the Internationalization for Forge EAP. See i18n object.

iconstringThe URL of the icon that's displayed next to the subpage title. A generic app icon is displayed if no icon is provided.
routestringYesThe unique identifier of the subpage. This identifier is appended to the admin page URL.

Section

PropertyTypeRequiredDescription
headerstring or i18n object

The section header.

The i18n object allows for translation and is available to participants of the Internationalization for Forge EAP. See i18n object.

pagesPage[]YesThe list of subpages to render on the sidebar.

Extension data

UI Kit and Custom UI

Use the useProductContext hook to access the extension context in UI Kit or getContext bridge method in custom UI.

PropertyTypeDescription
typestringThe type of the module.

UI Kit 1

Use the useProductContext hook to access the context in UI Kit 1.

Extension context

PropertyTypeDescription
typestringThe type of the module.

Rate this page: