Have you ever found yourself in a situation where you have a perfect JIRA workflow for a specific business use case but were wondering how to best build some sort of escalation stage into it? Read on to see the ultimate way to do so!
So why do we need this at all?
Say you are having a purchase order process in place where the employee can order new office hardware – everything from a keyboard to notebooks and displays. You would likely make sure that orders are properly approved. Tools like the Automation for JIRA (like automatic approval based on the value of the item) will help here for sure but at some point, the manager of that employee should give a final “go”.
Another situation could be vacation planning in JIRA. A workflow guides the user (preferably in JIRA service desk) through a process where all the dates etc. are entered. But again, the manager or some HR person will have to approve this.
Support issues also offer plenty of need for some sort of escalation mechanism.
Central and valid information is key!
The problem is that depending on the use case and the employee there will be a different manager for approval every single time. So, working with project roles (“Approver”), groups or even individual users would not be sufficient. Also, entering the corresponding manager manually in the issue create screen would be far from fail-safe.
In an ideal world, JIRA could simply use the information of your companies LDAP/AD as this is most likely the place where information gets updated automatically and timely. Fortunately, there is an add-on in the Atlassian Marketplace that can use this information and it’s called User Profiles for JIRA.
User Profiles for JIRA
So, with User Profiles for JIRA additional fields can be added to a JIRA users profile page. The values of those fields can either be entered manually by the user or synchronized with the user directory. Additionally, those fields can be used to be displayed in JIRA issues and therefore used in JIRA Workflows. Read on to see how it’s done.
A step-by-step guide
Let’s assume User Profiles for JIRA is already installed and set up to synchronize fields like phone number and manager (if you need some guidance on this, please refer to the docs).
So, the first step would be to add the corresponding field (let’s call it “Manager” from now on) list of available custom fields. So, add a new field, find the type User Profile Field (it’s in the ‘Advanced’ tab), give it a name and (optionally) a description as well as putting it on a screen.
Now as this is some sort of generic field we need to make this the correct information from the user profile. This can be done in the administrative settings (go to Add-ons -> User Profile fields) of User Profiles for JIRA.
Locate the “Manager” field in the list of User Profile Fields and configure it accordingly.
The third step would be to use that field in a JIRA workflow. And this is as easy (or as complex) as your workflows could be 😉. In order to have some escalation process, we need to copy the value of our newly added “Manager” field into the reporter field. There are a couple of add-ons available in the Atlassian Marketplace that will provide some sort of “copy field” post function. Personally, I most often use the Suite Utilities for JIRA for this kind of tasks but others will be sufficient as well. As usual, don’t forget to publish the workflow after you have completed all necessary changes otherwise it would not be in effect – JIRA administration tends to be a little tricky from time to time 😉
That’s it. By following those few steps you have configured a pretty basic, yet kind of one-fits-all process for automatically assigning JIRA issues to the Manager of (in the case) the Reporter of the issue.
What specific use case were you addressing with this mechanism in your JIRA? We'd love to hear more about that in the comments