G’day Atlassian developer community,
Today, I’m thrilled to make some announcements in our endeavor to support extensibility for next-gen projects. First, developers can now create issue fields (aka custom fields) for next-gen projects. Second, we’ve built an intuitive new visual interface for next-gen project administrators to make these issue fields available for their projects. This is available in all instances enrolled in the Jira Cloud Vendor First Release now, and we anticipate releasing it to all Jira Cloud instances soon.
As you might be aware, when next-gen projects were first announced in September 2018, we did not provide public REST APIs to create project-scoped entities such as issue types, statuses, and issue fields. The introduction of next-gen projects led to the undesirable side effect of developers not being able to create project configuration entities such as the ones referenced above. Existing REST APIs to create these entities worked for classic Jira projects but did not work for next-gen projects. Since then, we’ve been on a journey to get rid of this shortcoming. Our goal was to pave the path for vendors and developers to extend support to next-gen projects and make sure that apps built for classic projects can also work for next-gen projects. Let’s dive into details of the two announcements we’re making today.
Support for issue fields
We have done work to ensure that the Issue Field Connect module that is used to create issue fields for classic projects also works for next-gen projects. You do not need to change anything at your end. The module will work as-is, for next-gen projects. In particular, if you would like to create issue fields in Jira, you can use this module to specify issue fields in the connect app descriptor as you’ve been doing so far. We’ll take care of the rest. If you would like to modify issue issue field select list options, you can use the issue custom field options (apps) REST APIs. Just as for the connect module, we’ve done work to ensure that these APIs work as-is for next-gen projects, and no change is needed at your end.
As part of this work, we’ve also added support to rich_text type in the Issue Field Connect module. This enables support for multiline issue fields and, we hope, is good news for those of you who had added for it here. This support is now available for both classic and next-gen projects.
Easy-to-use project admin experience
We’ve built controls inside the Project Settings section of next-gen projects so that project admins can add or remove issue fields from next-gen projects. This means that similar to classic projects, it is now possible to show or hide issue fields, however, as next-gen projects do not have schemes it works a little differently.
Issue fields from apps can be shown or hidden in a next-gen project by toggling on or toggling off the app in Project Settings > Apps > App Fields. Here, Jira will show those apps that make use of the Issue Field Connect module in their app descriptor to specify issue fields for the app. In the example below, although there are more apps installed on the instance, only six apps specify issue fields using the Issue Field Connect module. Hence, these are the six apps that can be toggled on.
Apps start in the off state. They can be toggled on or off by next-gen project admins and Jira site admins only. App developers cannot control this behavior. However, we’ve built a new webhook that apps can use to be notified when admins toggle the app on/off. To read more about it, navigate to developer.atlassian.com. There, you’ll see a new Webhook event type called Project App Events .
By toggling on the app, issue fields specified by the app will show up when the Jira or the project administrator navigates to the issue configuration screen, also known as the SWIFT screen (see Customize an issue's fields in team-managed projects | Jira Software Cloud | Atlassian Support for more information). Here, Jira admins can associate issue fields to issue types via a simple drag-and-drop mechanism. Upon association, the issue fields are available for use in the corresponding issue types. For instance, they will appear when creating, viewing, and editing issues of the issue types to which they have been associated.
Jira admins and project admins can also navigate to Project Settings > Apps > App Fields from the SWIFT screen. On this screen, Jira will show apps, if any, that are installed on the instance and are concerned with issue fields, however, they are not toggled on for the project. Admins can then, navigate to Project Settings > Apps > App Fields and toggle on the app.
We hope you’ll like these changes and it’ll spur you to extend support to next-gen projects in your apps. The announcement today is one step in our journey to ensure all project configuration entities can be created in next-gen projects using REST APIs and connect modules. Next, we’ll be building support for issue types, statuses, workflows, etc.
FAQs related to apps on/off
- What apps would show in Project Settings > Apps > App Fields
- Apps that work on issue fields and apps that perform other operations in addition to working on issue fields will show in the App Fields page.
- How does Jira detect that an app works on issue fields?
- Jira looks at the app descriptor. If it makes use of Issue Field Connect module we deduce that the app works on issue fields and it is thus included in Project Settings > Apps > Apps Controls
- What about apps that do not work on issue fields?
- Jira does not support the creation of other project configuration entities, except issue fields, in next-gen projects. So it does not provide an option to toggle apps that work on these project configuration entities. Therefore, such apps would not be shown in Project Settings > Apps > App Fields. However, apps that do not work on project configuration will continue to work for next-gen projects even though they do not show in Project Settings > Apps > App Fields.
- What about apps that are not concerned with project configuration?
- Eventually, we plan to extend coverage to apps that work on other project configuration entities too. We’ll share more details here in the future.
- What happens if admin turns off my app? Would it stop working?
- Yes and no. You can continue to add options to issue fields. However, those issue fields would be hidden from issues and therefore, cannot be used to create issues, for example. Also, you won’t be able to programmatically create issues containing issue fields.