graphic-desktop
graphic-mobile

Happy holi-yay: Special offer is here!

Save up to 20% for Jira, Confluence subscription!

Efficient Jira automation: A governance approach
27/07/2023

Jira Automation rules are a powerful tool for streamlining workflows and automating tasks. However, if not organized effectively, they can quickly become messy and difficult to manage. Effective governance practice is essential for ensuring that automation rules are well-organized and easy to use.

In this article, we will discuss the importance of an effective Jira Automation governance strategy and the three key components that make it up, specifically naming convention, labeling convention, and execution monitoring. We will also provide some best practices for organizing and managing Jira automation rules.

Naming convention: The power of a well-named rule

In the realm of automation rules, a good name is more than just a label. A good naming convention makes it easy to understand the purpose and functionality of a rule. So, what makes a name effective?

AgileOps - Jira Automation Naming Convention Jira Automation Naming Convention 

Let's break it down. An ideal rule name encompasses:

  • (Event type)Manual, Scheduled, or Incoming Webhook
  • [Request / issue type] – Short name of the request type or issue type included in the rule

[Trigger type] – rule triggers e.g. Issue created, Issue transitioned….taken from Jira automation triggers


  • [Condition type] – vary depending on the trigger type selected

  • Short description – Very short description of the rule in VERB - NOUN - COMPLEMENT. Include keywords such as Slack, Zapier, ScriptRunner, or other specific integration you plan to use in the rule so that later we can quickly search for them. Examples:

    • Notify approver(s) on Slack

    • Call Zapier to generate PDF quote

    • Run ScriptRunner to generate the report

  • If the rule logic is complex, describe the detailed narrative in the Description field

Given an example of an automation rule that notifies the approver when a leave request is submitted for approval, here is how we name our rule:

[Leave Request] [Issue transitioned] [To Do -> Pending Approval] Notify approver(s) on Slack

Why is this naming convention a game-changer?

  • All the key information is packed into the name, offering instant clarity and understanding.

  • Despite its brevity, it remains easy to comprehend, avoiding unnecessary complexity.

  • And the cherry on top? Searching for a specific rule becomes a breeze.

Labeling convention: The path to effortless filtering

Atlassian provides a guide on using labels to organize rules (WHAT), but they don't go into detail (HOW). No need to worry; we will take care of that for you.

Here's the secret: label your automation rules based on two essential elements:

  1. Project: Categorize rules by the project they belong to so that we can quickly filter by the project from the global administration settings.

  2. Integration type: Group rules based on the integration(s) they employ. For example, our team works with a lot of external integration such as Slack, Zapier, ScriptRunner, Email, Atlassian APIs, and other REST APIs….

I lied – It is actually not just two essential elements. Your team should have more categorization criteria than us, then brainstorm which one you need – but don’t overuse and add more than needed.

AgileOps - Jira Automation - Look tidy and organized?
 
Look tidy and organized? 

Why is this labeling convention a game-changer?

  • Searching by project becomes a breeze, allowing you to swiftly locate rules within a specific project.

  • With integration-based labels, finding rules across the entire system is efficient, even from the global administration.

  • And fear not, for this labeling system handles rules with multiple integrations with ease.

Monitoring rule execution via Slack: All roads lead to the automation account

Execution monitoring ensures that rules are running as expected and that any errors are quickly identified and resolved. And what better way to stay in tune with rule executions than through Slack?

Instead of relying on default practices, try this:

AgileOps - Jira Automation - Specify Owner and Actor to use Automation Account
 Specify Owner and Actor to use Automation Account 

Prerequisite

  • Budget your licenses and create a dedicated service account specifically designated for running automation across your organization. Don't be afraid to invest; provide this account with all the necessary resources as if it were a real person: an email account, an Atlassian license, etc. You can name it something like automation@yourdomain.com, or creative names like policer@yourdomain.com or terminator@yourdomain.com

  • Ensure this account has full admin privileges to access and execute all required APIs.

Step-by-step, screenshot-by-screenshot guides

  • Specify this Automation Account as the Owner and Actor for the automation rules.

  • Set Notify when error to E-mail rule owner every time this rule fails an option to have failed notifications delivered to automation@yourdomain.com mailbox:

AgileOps - Jira Automation - Failed rule executions delivered to Automation Account email
 
Failed rule executions delivered to Automation Account email 
  • Create a team-based, centralized medium to receive these notifications. Since we use Slack, we set up a team channel and integrate Slack's email feature to provide an email address:

AgileOps - Jira Automation - Setup a Slack dedicated email address to receive email notifications

Setup a Slack dedicated email address to receive email notifications 
  • From automation@yourdomain.com, configure email forwarding to forward those failed rule executions to the above Slack email address. Those emails would then appear in the Slack channel like this:

AgileOps - Jira Automation - Failed execution delivered to centralized, team-based Slack channel

 
Failed execution delivered to centralized, team-based Slack channel
  • Optional but recommended: establish a policy for team members to react to failed notifications of services they own by commenting on the cause and proposing possible fixes in the channel.

Why is this monitoring approach a game-changer?

  • By embracing the Automation Account, you segregate configuration responsibilities, ensuring smoother comms between team members.

  • The dedicated Gmail account becomes a central hub for notifications, keeping you informed in real time.

  • Slack's integration empowers you to categorize and prioritize failed execution notifications, fostering prompt action and efficient troubleshooting.

:info:

While we use Gmail and Slack, you can implement the same approach with alternative software like Outlook and Teams. In conclusion, having effective Jira Automation Governance can greatly improve your experience with Jira. By following the best practices outlined in this article, you can ensure your automation rules are well-organized and easy to use. This will result in better efficiency, and less confusion, while also providing time and resource efficiency