You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
For one client, we have an extended SLA in place with an SLA matrix based on issue priority (3 levels) and the moment an issue was raised (3 possible time windows).
Our Time to first response and Time to resolution depends on when the ticket was created and what the priority is.
A Critical ticket opened on a Saturday needs an answer within 4 hours.
A Critical ticket created on a Monday afternoon needs an answer within 2 hours.
Currently, I haven't been able to automate applying an SLA based on those criteria.
Does anyone have had any luck with this?
Your JQL for the SLA is going to need to incorporate two things:
Just to confirm you're aware, one SLA can have multiple Goals - these Goals can use JQL to set different SLA targets depending on the results of the JQL search.
You can add multiple Goals to a SLA using the "+" button just below the original Goal.
For more information on Goals, see this help page
JQL for Goals
The JQL for priority should be relatively easy - it should be
priority = Critical
Then, the JQL for the day of the week should be possible using the JQL functions startOfWeek() and endOfWeek() - these work as follows:
So for example, we should be able to limit a query to recognise the created day as Saturday by using the following JQL:
priority = Critical AND created >= endOfWeek() AND created < startOfWeek(1)
And Monday's JQL would be:
priority = Critical AND created >= startOfWeek(1d) AND created < startOfWeek(2d)
You could use these JQL's in different Goals, with different Time Goals, and they should then set correctly!
Note: The JQL for Saturday is untested, because it's not Saturday today. I would strongly recommend testing this before setting it to live in your production environment.
Let us know if this helps!
Can you explain all the rules in more detail?
Depending on what the rules are and how they're based (eg. per day, or based on the business week, etc) - there might be alternatives using...
We have three different levels to group our Time to first response:
In each of those scenarios, we have a different Time to first response based on the priority of the ticket. There are three levels of priority.
To make matters more complicated, for some priority levels, the time to first response only starts counting on the start of the next business day (so during the times of the Office Hours calendar).
The priority is given by the external company logging the tickets, but can be changed by us after triage.
I already tried setting up different calendars (Office Hours, Outside Office Hours, Weekends&Holidays) in one SLA, but during testing, tickets I created during Office Hours showed up with the SLA of Weekends&Holidays since this was ranked higher).
I had hoped there would be a setting or a way to use those calendars in the JQL to limit that rule to only apply to tickets created during those hours, but had nu luck finding such a setting.
I could also create three types of requests to add some custom field or use a custom issue type, but then I am expecting the client to choose the right type. The problem with this is that we are based in Belgium, but the client has factories in the US and in Eastern Europe, while the SLA is following our time zone.
I think I've found a way to make this simpler. What I did was...
This will provide sufficient parameters to create SLAs (with JQL) based off "working hours" vs "non-working hours".
Create two Select List (single choice) Custom Fields:
These will be used in JQL but will be easier to refer to than every day/time of the week using date functions.
Automation will populate them (see below).
Automation Rule 1 - Business Week
This rule will populate Business Week as "Yes" if a ticket is created Monday-Friday, or "No" if Saturday-Sunday.
Automation Rule 2 - Business Hours
This rule will populate Business Hours as "Yes" if a ticket is created between 9am-5pm, or "No" if not.
Automation - Notes
created >= 2023-12-25 AND created < 2023-12-26
You also mentioned that there might be different calendars depending on prioritisation levels.
You can have different Calendars within Jira Service Management - including in the same SLA - to create them:
You'll need to decide on what parameters you need here, but you can create calendars inclusive of:
For more information - see this help page
Creating the SLAs
You can then put this all together to create your SLAs!
Some will be more complex than others - for example, high priority issues might require a...
And others might be simpler - for example, low priority issues might require only...
You'll just need to work out each parameter and create an SLA/JQL for it.
Hopefully this is sufficient to help direct you in the right direction :) - but let us know if you have any further questions or queries!
Just as a final note, I want to say thanks to Bill whose answer in this question helped drive the design above.