As a longtime Jira administrator who's been using Automation since it was a plugin, I find the tool a wonderful and necessary addition. It allows me to add quality-of-life tweaks for my users and address headaches that Atlassian either lacks the capacity or the will to handle themselves. However, with great power comes greater complexity: each time I add something useful for my team, someone else gets a great idea for a similar but slightly different approach. The end result is many Automation rules that are almost the same, with just enough variations to justify keeping them separate.
Managing these rules becomes difficult, especially if something changes that affects the underlying logic. For example, Microsoft changed the method by which we are allowed to send messages from Jira to Teams. This forced me to update all Automation rules that previously used a simple webhook to instead talk to Power Automate. Now, they've changed the URL structure for all of Power Automate, so I have to update all of these rules again.
There is no easy way to keep track of which rules are reaching out to which Power Automate flows; sure, we can filter by specific nodes in Automation, but that doesn't go deep enough. Our team has addressed our needs by manually building a database in Confluence with all of our Automation rules and the various details that are relevant to us. I wish this was something native, because it's a lot of overhead to maintain it. Also, Atlassian decided to update their own URL structure, so all of the embedded links in our database are wrong now.
A solution that I would like to see—which would make it easier to find and update similar rules—would be the implementation of a library of common methods in our Automation. For example, if I have three Teams channels that I want to send messages to from Jira, I could have three methods in Automation, named for the specific Teams channel, that I could call from an Automation rule. These methods would essentially be a rule snippet that contains the URL, authentication, etc. required to send a message somewhere common. Then it would be simple enough to attribute all Automation rules that use that method so they could be filtered out and adjusted; ideally, the method itself could be adjusted and thus all related rules would be fixed at once.
I know what some will say: just make a new rule with only that section and call it via web request. I've done this, it works, but this increases the number of Automation rules required per action and also slows down the whole process. I want the methods to function as if they are natively part of the main Automation, just easier to maintain.
What do you guys think? Have you figured out better ways to keep track of similar functionality across rules? I would love to hear ideas that require less maintenance than a custom database.
Brock Jolet
Jira Administrator
Louisiana, USA
3 accepted answers
13 comments