Transition both approvals and declines to the next status once all have replied
Asked by Amorena Simpson:

I have a workflow with two approval steps:

Approval level 1: Multiple approvers, number could vary, each person must respond with either approve or decline, and once all approvers have responded then it transitions to the next step

Approval level 2: One approver, same every time, will review the previous approvers decisions and based on that either approve or reject themselves

Essentially everyone in approval level 1 is casting their vote, then it advances to approver level two and approver level two has the final say.

My team and I have tried and haven't gotten approval level 1 to work yet. Here's what we have tried ("awaiting approval" is what I am referring to as 'approval level 1'):![Screen Shot 2024-04-22 at 11.25.11 PM.png](https://community.atlassian.com/t5/image/serverpage/image-id/319969i47B7A57127FA6882/image-size/large?v=v2&px=999 "Screen Shot 2024-04-22 at 11.25.11 PM.png")

![Screen Shot 2024-04-22 at 11.24.17 PM.png](https://community.atlassian.com/t5/image/serverpage/image-id/319968iDC631CDF1E6C29B8/image-size/large?v=v2&px=999 "Screen Shot 2024-04-22 at 11.24.17 PM.png")![Screen Shot 2024-04-22 at 11.24.27 PM.png](https://community.atlassian.com/t5/image/serverpage/image-id/319967i40192239B3D6E268/image-size/large?v=v2&px=999 "Screen Shot 2024-04-22 at 11.24.27 PM.png")

The level 1 approval step is set to 'everyone' for number of approvers, both transitions for approve and decline point to approval level 2, with validators on both so "Issue transition will be blocked if there is a **pending** approval."

This is working as expected if the first person in approval level one approves...it doesn't advance until the other level 1 user approves or declines. The problem is when it is declined by the first approver in level one...it'll advance to approver level two, even though the other level 1 approvers haven't responded yet.

Can you help me make it so it won't advance to approver level 2 until all level one approvers have responded, no matter if they approve or decline? Thanks!


Answers:
author: John Funk
body: Hi Amorena

Can you share a screenshot with the details of the Approval/Decline on the Status?

comments: author: Amorena Simpson
body: Ok updated post with screenshots!


author: John Funk
body: So, you have the Decline going to the same Status as the Approved. That's not normal or the way the Approval process is is designed in Jira. The thought is that if anyone Declines, it's dead and doesn't move forward. So you typically will see the Decline going to a separate Done type status like Declined or No Approved or something like that.

Bottom line is that when the first Decline happens, it's going to move to a Status.


author: Amorena Simpson
body: Understood. Do you have any suggestions or workarounds that would resolve my problem?


author: John Funk
body: So your internal rule is that even if someone Declines it still moves on? I think you are going to have to deal with that first. Maybe it goes to another Status and drops the person who declined from the list of approvers. But that's going to get really messy.


author: Amorena Simpson
body: Yes, like I said, the first approval step is more like a vote...you're voting in favor or against, and once all votes are collected it goes the next step. Is there a way to create a custom approval option? I could create one that says "reject", but categorize it as an 'approved' option. So the approver would have the two options "approve" and "reject" and both of them would be considered "approved" and behave the way I want. Is that possible? Any other workaround ideas?


author: John Funk
body: Oh, if it's more of a voting thing then you shouldn't use the built-in approval process. You could implement the voting mechanism in Jira though it will only capture positive votes.

One option might be to create a custom field for the Negative votes - maybe a radio button or drop down. Then create a separate custom number field to count the Negative votes. (Incidentally you could do this with Approvals as well - maybe the Radio button values are For or Against).

Then create an automation rule that fires when this field is updated and has a condition of the field value being either For or Against.

Then based on the value, do an Edit Issue action to increment the value of the custom For number field or custom Against number field by 1 for the changed valued.

Then finally do another Edit Issue action to clear the For or Against radio button so it would be available for the next person with a clean slate.

It's a bit of work but might provide you with what you are trying to do.


author: Amorena Simpson
body: We want to use the built-in approvals process so users can approve via the portal, the way they do for other approvals (and this means they don't need a JSM license either). Above you said there may be a way to do this using an additional status and dropping the person who declined from the list of approvers...can you expand on that? I get the additional status part, but I don't know how to remove the decliner from the list of approvers.


author: John Funk
body: You would have to capture them somehow - maybe into a new custom field and populate it with the value of the initiator trigger on a Decline.


Tags: cloud

jira-service-management

jira-service-management-cloud