TL;DR - The Jira Service Desk Cloud team has found common problems in marketplace apps
- The Jira Service Desk Cloud team has found common problems in marketplace apps and would like to share them and solutions so marketplace apps can address them.
- If you need more information on the impact on developing for Jira Service Desk, please read this blog, and for Jira, please read this blog.
Jira Service Desk Cloud introduced next-gen projects in Feb 2019, which support installing marketplace apps. Some marketplace apps functionality is degraded when working with next-gen projects. The Jira Service Desk Cloud team has found common problems in marketplace apps and would like to share them and potential ways to address each.
Common problems
Project scoped entities
Next-gen projects introduced the concept of project scoped entities. The entities that are project scoped entities in next-gen projects are:
-
Jira Platform
- Project roles
- Screens
- Workflows
- Fields
- Issue Types
- Status
-
Jira Service Desk
- Request Types
- Request Type Fields
- Request Type Groups
A lot of marketplace apps are exposing some or all of these project scoped entities outside of their project scope.
Marketplace apps usually break project scope in one of two ways:
- The marketplace app lists project scoped entities outside of the project they are scoped to
- The marketplace app attempts to perform an action on a project scoped entity outside of the project it is scoped
Marketplace apps should update any lists of project scoped entities they are displaying to be filtered by the project they are scoped to e.g.
- If a next-gen project is selected from a projects dropdown, then all other dropdowns should only include entities scoped to that project.
Creating requests
Some marketplace apps have the functionality to create requests. Requests are failing to be creating though due to problems with mappings to the Request types fields. Request types are now project scoped and as such, have project scoped fields. If fields are required and the create request call doesn’t include them, the call will fail.
Additionally, some marketplace apps are failing to render request create forms due to not having mappings for all custom field types.
The recommended way to get request types and their fields is to use the following REST APIs
- Get request types (with the expand=field query param)
- Get request type fields
Links
Some marketplace apps have links that can be updated to account for next-gen settings locations e.g.
- Links to create, update or delete Request and Issue types should both now go to {baseUrl}/projects/{projectId}/settings/issuetypes
Documentation
Some marketplace apps have documentation that needs to be updated to account for next-gen mental models, permission, and settings locations e.g.
- Marketplace apps that have a configuration screen in project settings will need to update the reference to that location to be Project settings → Apps → <configuration-page> .
- Marketplace apps that require users update Portal , Widget or Email settings will need to update the reference to their location to be Project settings → Channels → Portal/Widget/Email .
Jira Service Desk features missing in classic
Some Jira Service Desk Cloud features have not been ported yet from classic to next-gen.
- Language support
- Approvals
- Asset management
- Customer transitions
- Custom field types
- Time tracking
- Cascading select
We are currently working on porting these classic features to next-gen, and the solution is to wait or display a notification to customers from inside app views that those features are not currently available in next-gen projects.