In my previous blog, I discussed the topic of "Pragmatic Jira Automation: A Governance Approach". Today, I will show you how to define an approver field using Jira Automation dynamically.
Defining request approvers is a crucial aspect of efficient and streamlined workflow management in organizations. Choosing the right approvers ensures that requests are reviewed and approved by the appropriate individuals or teams, facilitating smooth progress and timely completion.
In this article, we explore two commonly used approaches: letting customers choose approvers and setting default approvers. Additionally, we introduce our own preferred method, which leverages project roles, automation, and APIs to configure approvers. By understanding the benefits and limitations of each approach, organizations can make informed decisions to enhance their approval processes.
This approach allows customers to select the approvers for their requests. When submitting a request, customers can specify who they believe should approve their request. See this article for the how.
Pros
Cons
Alternatively, you can set default approvers in advance for certain request types or categories. With this approach, you define a predefined set of approvers for specific types of requests. Whenever a customer submits a request falling under a particular category, the default approvers are automatically assigned. See this article for the how.
Pros
Cons
At AgileOps, we actually configure approvers the third way, using project role, automation, and APIs.
With this solution, the final result will be:
Here is how it’s set up:
Step 1: Create the “Approvers” project role
Step 2: Add users to the “Approvers” project role
Step 3: Retrieve the approvers when a new ticket is raised
Step 4: Format the web request response
Step 5: Edit Approvers field of the ticket
Step 6: Notify Approver through Slack
Step 7: Action - Approver for ticket is set and notified
Now, when a new ticket is created, the Approvers field is automatically populated with users with the Approvers project role. They will also receive a notification on Slack.
The biggest cons of this approach is, you guessed it, the complexity of setup: It requires configuring automation rules and custom scripting, which may require technical expertise and effort. But the advantages are well worth it.
Here’s how it's better than both previous approaches:
The three approaches to defining request approvers presented in this article offer a range of benefits and limitations. Letting customers choose approvers provides flexibility, but it can lead to inconsistent and delayed approvals. Setting default approvers can streamline the approval process, but it can be limiting and difficult to accommodate exceptions.
Configuring approvers based on project roles, automation, and APIs offers a balanced approach that combines the benefits of flexibility, consistency, and reduced manual errors. While the initial setup may require some technical knowledge, the benefits in terms of efficiency and scalability outweigh the complexity.
By leveraging automation rules and APIs to retrieve users in the project role "Approvers," organizations can achieve a consistent and efficient approval workflow. This can promote productivity and collaboration across teams, and it can help organizations to achieve their goals more quickly and effectively.
The final blog in the series "Pragmatic Jira Automation: Atlassian's 3 Ways of Using Jira and Confluence Together, We Unveil the 4th Way" will be published soon. In the meantime, don't miss the previous two blogs that I shared:
Follow me and stay tuned for the upcoming articles on this topic:
Great, thanks very much for that link. That Python script is for Jira Server but I'm sure it won't take much work to tweak it for Cloud.
Yep that's more or less exactly what needs to be done right now. We've got a script you can use here: Mention someone directly in Slack via Jira Automation (Atlassian Community Article)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
How does the rule know the Slack ID of the approver? We have an automation rule which looks up approvers from an Assets object type (instead of the project roles) and want to enhance it with Slack notifications for approval required but I haven't figured out how to get the Slack ID of each approver yet. I imagine we would have to loop the list of approvers and make an API call to Slack using the approver's e-mail to get their Slack ID.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.