As of now, there is limited flexibility when it comes to how many people are required to approve a step in a workflow (see below). What happens if the group of approvers increases or decreases frequently? Say I have a group of 8 people and I need at least 5 (50% + 1) of them to approve a step. But, one day your boss decides that 4 more people from management need to be part of the decision process. So, the group is now 12. However, that means that YOU are required to go update the approval step to reflect 7 people now that need to approve (50% + 1), but he neglected to mention that to you. I do not believe there is currently a proper fix for this, so the question is:
Who has dealt with this and what is the cleanest, most effective & concise way someone has remedied this problem?
The more I've thought about this, the more paths I go down that make this seem like it could wind up quite messy in the end. Sure, automation rules could be leveraged, and custom fields could be created to count approvers and such, but I'd appreciate the community's thoughts on the matter. Hopefully, I've explained my goal well enough, but let me know what details I may have left out, thx!
There is no proper solution for this, but changing the approval setting in the related workflow.
I would not take the road to add fields and automation in my opinion this would add complexity rather then simplify the process.
The cleanest and simples way is to change the approval step.
If there are frequent changes based on the approvers, I would look at the why there are so many changes, and is that audience then the right one to provide approvals?
To answer you reply, there is no need for different flows.
Start using assets, not the default Services schema, linked to the services field, but a custom schema.
Add your services/applications in the custom schema and have an attribute on each object the represents the approvers.
I would use a group attribute, list a Jira group there that contains the approvers related to the service application and via automation based on the service set the approval group.
You approval in the workflow has to be set to use the approval groups field.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Interesting idea. Right now, we only use Assets for tracking equipment lifecycle. Can you please clarify how this would be more beneficial than using the "Services" found in the Operations section of a JSM Space?
I understand your description of how to set up the Assets Schema and the Group attribute, but I'm not sure how this helps our situation. Also, there is still the issue with how many people are in a group vs. how many approvals (50%+1) are required from that group. I used CoPilot to ask a few pointed questions about how "A specific number of people from each group" works. It seems like this has its place when dealing with groups, however it still doesn't offer any aid in this special case.
Please advise, thx.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The percentage route answers the part you are calling hard coded.
A specific number of people from each group pins a count, and that gives you nothing here. The setting underneath takes a proportion. A proportion does not care how big the group is: on 51, eight approvers wants five and twelve wants seven, and nobody touches the config when the group moves. Same control I described earlier, set through the workflow REST endpoint, since the dropdown will not offer you 51.
So you likely do not need a workflow per CAB. Marc's Assets route and this one fit together. Let the Service drive an automation that sets the approver group, then let the percentage derive the number from whoever lands in it. One workflow, many CABs, no issue type sprawl.
The catch from before still stands, and it bites harder in your case. A proportional threshold recalculates when the list changes, so taking people out can release a request that was still waiting. Test that first.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Gabriela - LeanZero I appreciate your response concerning the workflow properties.
I am not that familiar with setting those up or modifying them manually. As you mentioned before, "Atlassian's KB on these properties says setting them by hand is not recommended and may lead to workflow issues" and since I have very little experience with workflow properties, I am reluctant to go that route at this time. Can you share any specific links that you would feel are helpful with navigating workflow properties?
Going back to your other comment, "Marc's Assets route and this one fit together". How do you feel his recommendation about using Assets works better than the built in Operations > Services feature? Forgive me, but we don't really use the "Services" feature very much, so I am unclear of the benefits either way.
Thx!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I appreciate your knowledge & responses.
I spoke to my boss a little more concerning this matter. Another factor is that he would like that the approval group is associated with a service. His intent is that a "Service" field can be added to a change management ticket. Then, it would use the associated group to act as the CAB/steering committee. The bigger problem is that each CAB has a different amount of people in it, plus could change often. So, that adds more complexity. Because the approval setting is hard coded, it would be impossible to change that setting depending on which Service is selected. Meaning that the standard workflow approval approach will not work as he would like it to.
Correct me if I'm wrong, but at this point, the only safe answer is to have separate workflows for each approval group tied to their own issue types. This is the best bet until Atlassian enhances how approvals work.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The dropdown in your screenshot offers a specific number, a specific number per group, or everyone. None of those is a proportion. The setting underneath takes one though. That control writes a workflow property whose mode can be a percentage, so put it on 51 and the step works the number out from whoever is in the approver field. 8 approvers wants 5, 12 wants 7, and the config stops needing you.
The UI won't hand you 51. Everyone is percentage mode pinned at 100 and that is the only percentage it offers. For any other value you read the workflow with POST /rest/api/3/workflows, change conditionType to percent and conditionValue to 51 on that status, then POST the whole thing back to /rest/api/3/workflows/update. Partial bodies get a 400, so send every status and transition along with the current version number.
I ran it on a test site before writing this, with a user picker holding the approvers. Two approvers at 40% cleared on one approval, ceil(0.8) being 1. The same two at 51% didn't, ceil(1.02) being 2. One approver at 51% cleared.
Now the price. Atlassian's KB on these properties says setting them by hand is not recommended and may lead to workflow issues, and the workflow validator answers APPROVAL_MISCONFIGURED for any percentage but 100, so you own this one. The decrease half of your question also has teeth, because a proportional threshold recomputes when the list changes. I pulled one of two approvers off a request sitting on a single approval and it went straight through to Waiting for support. On your numbers, taking four people out of a group of 12 can approve something that was still waiting.
On the counting custom field, the step can't read one. conditionValue is a literal and nothing in that config lets the count come from a field. The supported way to stop the hand-editing is the middle option in your dropdown, which holds at say 2 per group however big the group gets, assuming Managers is a group picker. I only ran the percentage against a user picker though, and Atlassian's own property table pairs percent with everyone and the per-group option with a multi-group picker, so if Managers holds groups rather than people, try it on a test project first.
Company-managed. Team-managed approvals sit on the request type and I haven't tried this there.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello @Brian Jennings
Theres even ancient JAC Ticket related to that [JSDCLOUD-4223] Consider declined only when several approvers have declined - Create and track feature requests for Atlassian products.
I don´t see here clean solution besides slight design change for approval settings.
Approvals are one of those areas where you ideally want a fairly stable group of approvers with as little fluctuation as possible. Otherwise, highly customized approval processes can break quite easily when people, roles, or responsibilities change.
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.