Pragmatic Jira Automation: A Governance Approach
AgileOps - Pragmatic Jira Automation: A Governance Approach

Pragmatic Jira Automation: A Governance Approach

Jira Automation is a powerful tool for streamlining workflows and automating tasks. However, they can quickly become messy and difficult to manage if not organized effectively and underutilized. As a Jira expert with over 10,000 hours of experience, I have composed a 3-part series to share the governance approach of Jira Automation, Jira Service Management approval workflow, and some tips and tricks to leverage Jira and Confluence.

This first article will discuss the importance of an effective Jira Automation governance strategy and the three key components that make it up: naming convention, labeling convention, and execution monitoring. I 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 - 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 - 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 [email protected], or creative names like [email protected] or [email protected]
  • 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 option to have failed notifications delivered to [email protected] mailbox:

AgileOps - 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 - Setup a Slack dedicated email address to receive email notifications
Setup a Slack dedicated email address to receive email notifications

  • From [email protected], 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 - 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.

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, less confusion, while also providing time and resource efficiency.

Don't miss the previous two blogs that I shared:

Follow me and stay tuned for the upcoming articles on this topic:

  • Pragmatic Jira Automation: Jira Governance Loop - Using Jira to Manage Jira
  • Pragmatic Jira Automation: Document Generator with Jira, Automation, Confluence, and K15t Scroll PDF Exporter
  • Pragmatic Jira Automation: How Did We Use Jira as a full-pledge CRM system


要查看或添加评论,请登录

社区洞察

其他会员也浏览了