If you use Jira and work on a team where you constantly need to stay on top of SLA’s, then this simple Jira + Slack integration will help you stay on top of SLA’s with minimal effort.
It basically automates away the act of worrying about SLA’s by sending your team a Slack message for any item nearing SLA, so you or your team can tag each other and respond with next steps on how you will meet this SLA.
Here is an example of what an alert/reminder might look like in Slack. If this looks like something you would like to enable for your team, read on for steps on how to make it happen!
Solution
Jira automation capabilities give a lot of control, letting you find the exact issue you want.
To get started, go to your Jira project, settings, and click Automation.
Create a “scheduled” rule. Pick CRON scheduling since we want the control to only run the rule during weekdays. Also, since the CRON rules are in UTC, if you want the rule to run 9 am PST, the time picked in CRON should be 16 (9 am PST = 4 pm UTC)
0 15 16 ? * MON-FRI
Pick a query to detect the needle in the haystack that you’re looking for.
For example, to find all customer bugs that are nearing SLA (even when no due date is specified):
labels = customer-bug AND priority in (P1, P2, P3) AND status != CLOSED AND (due < 7d OR due is EMPTY AND (priority = P1 AND createdDate < -7d OR priority = P2 AND createdDate < -23d OR priority = P3 AND createdDate < -53d))
Next, you can configure the detected issues to be sent over to a team Slack channel. Although Jira has an out of the box action to “Send to Slack”, it requires Slack admin permissions to be able to send messages to Slack, which most of us don’t have.
Here is what you’d get if you try to configure the webhook.
Luckily, there is an alternative to sending a message to Slack. Everyone should have permission to create workflows in Slack.
After creating the workflow in Slack, add a new webhook trigger, give it all of the variables (parameters), so they could get passed dynamically from Jira.
Then add an action to “Send a message” and configure the message to go to your desired Slack channel and have the variables in the message content formatted the way you like.
Here is a preview of what the Workflow in Slack looks like at a high level. Copy the URL of the web request that starts the Slack workflow so you can use it in the Jira automation configuration.
You only need to configure one Slack Jira workflow, and then connect all your Jira automations to that Slack webhook. Go back to the Jira automation and add an action to “Send web request”. Use Jira placeholders to pass details to Slack that make the alert message relevant, concise, timely and actionable!
That’s it. You’re done! This should be quick and easy once you familiarize yourself a bit with Jira Query Language (JQL).
Conclusion
Basically, every single Jira ticket that has an SLA could be surfaced with its own workflow in Jira and very clear calls to action. This all depends on how large your company is, potentially having 1 workflow if you are a small startup, while having 10’s of workflows if you are a large mature company with processes/demands from customers coming from multiple directions.
As simple as this looks, I’ve applied this on my team and it’s tremendously helped us stay consistently on top of SLA’s and heavily reduced the collective cognitive load in our organization for keeping track of SLA’s. It’s usually the simple things that end up working the best, so I hope you’d get the chance to apply this on your own team!
Enjoy!