JIRA is the #1 software development tool for agile teams.
Its flexible workflow engine is one of the success factors. Increasing numbers of customers use JIRA for their business workflows where some enhancements are needed. Those enhancements are offered by so-called plugins or add-ons. In this blog I would like to introduce the most requested features for JIRA workflows.
As an Atlassian Expert, our company (codecentric) comes across requirements in customer projects which exceed the JIRA standard functionality.
Fortunately the Atlassian tools provide a really professional plugin concept to extend the missing functionality. By now, the Atlassian Marketplace has evolved into a platform with more than 2.000 add-ons. You can get a plugin for nearly every use case commercial or in many cases for free.
With our plugin team, codecentric developed a lot of individual plugins for our customers. We bundled all enhancements regarding JIRA workflows and packed them into one plugin called “Workflow Essentials for JIRA“. The plugin is of course available in the Atlassian Marketplace and is continuously extended with new features.
Below we describe the Top 5 use cases and how you can tackle them with this plugin:
Use Case 1 – Default Values for Create Screen
The dialog box „Create Screen“ is used for creating a new issue in JIRA. As an admin you can configure what kind of system fields and custom fields will appear on this screen. You can also define default values for custom fields – globally for all projects or in the context of each project individually. Unfortunately there is no possibility to define default values for system fields.
Those kinds of templates are much asked for to clarify which data is expected in fields or to improve usability by creating new issues.
In Workflow Essentials for JIRA there is a simple interface to pre-fill default values in system fields and custom fields for each project and issue type individually.
The screenshot shows an example where a new bug issue for project „Use Case Demo“ is pre-filled with above shown content in the system fields „Summary“, „Description“ and „Environment“.
In the Atlassian Portal you can also see that this is a highly requested feature which has more than 1.000 votes and has been open since 2004.
Use Case 2 – Mandatory fields
When configuring mandatory fields, it’s always a decision between necessity of data and usability.
In JIRA it’s possible to make systems fields and custom fields mandatory by using the field configuration. Those required fields get a red asterisk (star) in front of the field on the „Create Screen“. This asterisk shows the user that he has to insert some value into those fields before he can create the issue.
In most cases the user doesn’t have all data when creating an issue. So if all fields were mandatory, the user wouldn’t be able to create the issue.
It would make more sense to make those fields mandatory at a later stage.
JIRA users would like to complete all fields at a later point of time.
In workflow transitions you can use validators to check if the user can changeover to the next status. To make mandatory fields visible to the user in any workflow transition and eventually show an individual error message, a transition screen should be configured.
The field “Fix Version” is configured as mandatory. The red asterisk shows the user in a transition screen that this is a mandatory field.
The Atlassian Marketplace offers different kinds of plugins to validate fields in workflow transitions.
However, these plugins don’t show the user the red asterisk for mandatory fields.
This means that users first run into an error message before they know that a field is mandatory. Our customers gave us the feedback that this is a bug as long mandatory fields are not marked as mandatory.
Even this feature request won’t be implemented in the near future by Atlassian.The request has been existing since 2005 and has 751 votes.
In “Workflow Essentials” we implemented the requirement including the red asterisk. Additionally you can create individual hints/error messages to show the user adapted messages.
Use Case 3 – Add Watcher
Notifications in JIRA can be configured by Notification Schemes for each JIRA project individually.
Notifications can be triggered by certain kind of events (Issue creation, issue update, assigning or deleting issues, etc). Additionally you can define a role, group or respective user to notify for each event.
This notification concept is very powerful. Nevertheless a lot of companies do require more flexibility. There is, for example, no possibility to handle notifications for each issue type differently.This means that notifications are sent by issue creation regardless of a bug, story or an epic.
Thanks to the JIRA watchlist feature, a new notification individualization for each issue is possible. Each user can add herself to the watchlist to follow interesting issues. With the permission „Manage Watcher list“ you can also make other users watchers of an issue.
There is a requested feature with more than 600 votes which gives the opportunity to add users to the watch list automatically. To be more precise, it should be possible to add users (for example a team) by default during issue creation.
With „Workflow Essentials“ you can add users to a Multi-User-Picker-Field by default on the Create screen. In the next step you can put a post function in the “Create transition” which adds all the users in the Multi-User-Picker-Field to the watchlist.
The configuration adds all user to the watchlist which are selected in a Multi-User-Picker-Field
In order to make the users appear on the Create screen, you have to define them with the “Default value for create screen” functionality. The post function „Add Watcher“ needs to be added in the „Create transition“ of the workflow.
Use Case 4 – Update / Set Value
In JIRA you can update system fields during workflow transitions by adding the post function “Update Value” to the transition and choosing the particular system field.
An example: You can set the resolution from your issue to a defined value as soon as someone moves the issue to the status “Resolved”.
Unfortunately there is no way in JIRA to update custom fields.
The feature request to update custom fields can be found here.
There are lots of use cases – one example is: The custom field “Responsible Manager” should be automatically updated to “John Doe” when transitioning into status „Ready for Approval“.
The Workflow Essentials Plugin is supporting many different custom field types like date fields, text fields or numeric fields to update them via post function in workflow transitions.
Use Case 5 – Validate Parent Issue Type for Subtasks
Issue types are helping in JIRA projects to interact differently with issues in a project. That means you can for example create bugs and requirements which use different workflows, screens and fields. For each project you can define which field types are available.
If we look one level deeper at the sub-tasks, we won’t find any possibility to define which sub-task types are available for the parent issue. In other words, all assigned sub-tasks in a project are selectable while creating a new sub-task.
There are certain use cases where the options to choose a sub-task need to be adapted.
Example: For a purchase requisition, only the sub-tasks material or service delivery should be selectable. All other sub-tasks in that project are not allowed.
The Workflow Essentials Plugin provides a validator called „Parent issue type validator“. You can put the validator in the create transition from the sub-task workflow to allow the creation only for the right parent issue.
JIRA provides a wide range of functionality to realize lots of different use cases, but especially in business workflows requirements go beyond the existing workflow functionality.
With Workflow Essentials you can configure the most required extensions without writing code.
We would be pleased if you try out the plugin (30 days for free) and send us some feedback. Tell us what kind of workflow extensions you are using and what functionality you are missing. You can leave us a comment with ideas or feature suggestions or write an e-mail.