Auto Assignments are the #1 automation for Jira
Auto Assignments are the top automation that you can build with Automation for Jira.
It doesn’t take a lot of research to come to this conclusion. Just have a look at Atlassian’s landing page on the Most Popular Jira automation templates.
See what’s on the first spot? Yes! It’s our friend auto-assign.
And it makes sense: forget to add an assignee to an issue, and you can bet that it won’t ever see the light of day.
Keep reading about Out Of Office
Some popular Auto Assignment options
The options for automating assignments can arguably match any use case.
Auto assignment to specific users
It’s very common, for example, to assign to the issue creator. Individual contributors like me typically benefit from this, as they usually create tasks to manage and plan their own work. And even if there should be a different assignee, they can always triage it later, rather than having to look in a pile of anonymous issues.
Auto assignment to team members
But there are many other possibilities. A team often needs to work through every request coming their way. It’s the classic Jira Service Management scenario.
Instead of assigning to a specific user, teams need dynamic assignments that distribute work to every team member.
The three methods for auto assigning to team members
There are three methods for automatically distributing workload between team members:
- Round robin format. The round robin algorithm is simple. If there are three team members (A, B, and C), the first issue will be assigned to A, the second issue to B, the third issue to C, and so on. This method can be useful when you want to distribute that work stream fairly and give everyone to same chances to work on it.
- Balanced workload. In balanced workload, also known as load balancing, the automation first evaluates how much work is assigned to each of the team members. Then, the issue is assigned to the team member with the least amount of open issues. This is a good method when the most important thing is not to overload anybody.
- Random. Simple! The rule just randomly picks a user from the list, role, or group. I really don’t see any benefits over the two other options here… but I may be wrong.
Auto Assignments break when you account for vacations
There’s only one small problem with all these smart assignments.
Automated Assignment rules only work when users are available.
Since that’s very often not the case, the automation will technically work (the issue will be assigned), but work will not start because the assignee is not active. This means that the automation will fail, but it won’t notice that it fails.
And that’s even worse that an automation that spits out common error messages!
But just how common it is for someone in the team to be unavailable? This is a surprisingly hard question to benchmark for. So I had to go the AI way.
In a team of 15, someone will (almost) always be away
Since I wasn’t able to find any reports on this issue, I asked ChatGPT to do a quick estimate for me.
The result, using pure probability, was baffling. In a team of 15:
- The entire team will typically be available for approximately 4% of the working days, or around 7 working days per year.
- For about 18% of the time, or around 36 working days, one team member will be out of duty
- For the remaining 78%, more than one team member will typically be unavailable.
Of course this is an abstract estimate. But the sheer truth is that it’s completely unsafe to base automations on the assumption that the entire team can act on their assignments straight away.
Let’s be super skeptical about the calculation. Even if the AI got it completely wrong and the amount of days that the entire team is available was 10x larger, we would still have the possibility of absent assignments 60% of the time.
It’s not safe to assume that the entire team can act on assignments straight away
I went online to confirm this problem and found out that many Jira admins had bumped on this problem before me.
As seen in the community: How can I make auto assignments vacation-proof?
I want to round robin auto assign tickets to users in a group. When a user is on vacation I want the auto assignment to skip the user and assign to the next user in the group. So I would also need to know how to track each user’s vacation time so the auto assignment can check against the vacation time.
Here’s a classic example of a Jira admin realizing that time off is a huge problem in Jira:
And here’s another one:
The question even made it to reddit!! And while there are some ways to hack your way around the problem… that usually only works at smaller scales.
So let’s look at a way that is scalable, maintained, affordable… basically, productized into a small little app that you can get on the Marketplace .
How to fix round robins with Out of Office Assistant for Jira
So we’re looking for a solution that meets the following requirements:
- It works on top of a round robin auto assignment
- It looks at whether a user is on vacation or otherwise out of office
- When that is the case, it skips the user and assigns to the next in the round
- The solution can be set up once by an admin, allowing users to handle the workflow autonomously from that moment
Let’s build such solution with Out of Office Assistant for Jira:
- First, we’ll tweak the round robin automation to make it interact with Out of Office Assistant
- Second, we’ll build an Out of Office rule that is triggered when the round robin assigns an issue to someone who is inactive,
- Third, we’ll test the new smart assignment automation!
If you feel comfortable, you can also jump right into the documentation article that describes this fix.
At a general level, here’s how the new workflow goes:
- When someone in the group is on PTO, he or she should activate an Out of Office rule. This rule will remove the absent user as assignee from any newly assigned issues, and
- As a consequence, when the round robin assigns an issue to a user that is on PTO, the out of office rule is triggered, and the issue is unassigned.
- Now, the round robin automation only needs to pick up the unassigned issue again, and put it through the round so that it’s assigned to the next user.
Easy, right? Let’s see how to set it up.
Step 1: Fix the Auto Assign Rule in Automation for Jira
You already have a round robin automation, possibly to users in a group. Let’s make it vacation-proof!
Remember: the changes in the automation rule have the purpose of triggering it again when an issue is unassigned by the Out of Office Assistant.
Only two changes are needed in the Round Robin automation:
First Change: Modify the trigger
Start by selecting the trigger “Multiple Issue Events” and include the events “Issue Created” and “Issue Assigned.”
To play safe, you can also incorporate the action “Re-fetch issue data”. This will guarantee that the rule evaluates the most up-to-date assignee information when it runs.
Second Change: Narrow down to unassigned issues with a JQL
Without any additional changes, the trigger above would kick in every time an issue is assigned. Crazy, right? That’s not what we want.
Instead, we need to make sure that the automation is only triggered with new tickets, or with tickets that have been unassigned by out of office.
So let’s just add a JQL condition with the parameter “assignee IS empty” to narrow down the requests handled by the group. This will ensure that only unassigned issues are considered.
If your round robin is already using a JQL to restrict which issues within the project will this group be in charge of, just add the parameter to it and it should work.
Step 2: Out of Office rules to unassign the requests
Now, we only have to make sure that users create out of office rules as they leave.
There is only one must in those rules: The coverer must be “Unassigned“.
Ensuring accurate Out of Office data
To ensure that users remember to schedule the rules when they leave, it’s possible to:
- Sync the out of office rule with the Slack status
- Sync out of office events from Outlook or Google Calendar
- Or, quite simply, create a single rule without an end date that can be manually activated just before leaving (or by an admin, if you already left!)
Step 3: Testing the automation
When you test the automation, you should expect to see something like this in the issue history:
Conclusion
Automatic assignments are an essential part of most Jira setups. But just as important is making those automations run while users are on vacations.
Fortunately, Out of Office Assistant will help you cover for this use case very easily. And even if you run into exceptions, we’re happy to dig deeper and make sure that it works for you!