Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Best way to do multiple steps approval

Samuel Chan
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
August 2, 2023

So I have different scenarios here which requires multiple steps approval. I was thinking what is the best way to do it. Right now I hope to stick with everything inside the same workflow, so I am not going to flood with different workflows.

Scenario A:
Request Access -> Approval by Direct Manager (Approver field) -> IT works on it -> etc...

Scenario B:
Request Software -> Approval by Direct Manager (Approver field) -> Approval by Finance (Head of Finance Approver) -> IT works on it -> etc...

Scenario C:
Github Access -> Approval by Direct Manager (Approver field) -> Approval by DevOps (Custom Field 1) -> IT works on it -> etc...

I have created transitions flow goes like this. As there are different "Request Types", should I be using Automation to change the status, or using the condition / validator for it?

If using automation, should the rule be:
When Approval completed, if Request Type = Request Software, Transition -> Waiting for Finance Approval Else if Request type = Github Access, Transition -> Waiting for DevOps Approval?

If using condition, how should I set it up?

Here is the workflow down here:

Screenshot 2023-08-02 at 4.24.42 PM.png

1 answer

0 votes
Ste Wright
Community Champion
August 5, 2023

Hi @Samuel Chan 

I haven't tried this, but I'd think a combination of multiple transitions and statuses in one Workflow is possible, alongside an Automation Rule.

---

Prerequisites:

  • Add a new initial status to your workflow - eg "New Issue" - this will now be the first status in your workflow
  • Also add 2 additional "Waiting for Approval" statuses - eg. Awaiting Manager Approval, Awaiting Direct Approval
  • Create 3 separate transitions from "New Issue" to the 3 "Waiting for Approval" statuses
  • Create 3 outbound transitions from each "Waiting for Approval" status based on a specific scenario - eg.
    • Waiting for Approval > We're Working On It!
    • Awaiting Manager Approval > Waiting for Finance Approval
    • Awaiting Direct Approval > Waiting for DevOps Approval

---

Automation:

Automation will decide what status each newly created issue goes into, based on the Request Type.

The rule will:

  • Be trigger when a new issue is created
  • Transition the issue to the relevant status, based on the Request Type

The rule might look something like this...

  • Trigger: Issue Created
  • Condition: IF/ELSE
    • IF...
      • Sub-Condition: Issue Fields Condition
        • Field = Request Type
        • Condition = equals
        • Value = Request Access
      • Sub-Action: Transition Issue
        • Destination Status = Waiting for Approval
    • ELSE-IF...
      • Sub-Condition: Issue Fields Condition
        • Field = Request Type
        • Condition = equals
        • Value = Request Software
      • Sub-Action: Transition Issue
        • Destination Status = Awaiting Manager Approval
    • ELSE-IF...
      • Sub-Condition: Issue Fields Condition
        • Field = Request Type
        • Condition = equals
        • Value = Github Access
      • Sub-Action: Transition Issue
        • Destination Status = Awaiting Direct Approval

---

Approval Flows:

You now have all 3 scenarios in 3 unique Statuses, meaning you can apply 3 unique pathways for approval.

So all you need to do is:

  • Include approval steps for each of the "Waiting for Approval" statuses
  • Assign the approval transition for each scenario
  • Assign a second approval in the Finance/DevOps statuses
  • Link those statuses to the "We're Working on It" status

---

Request Types - Statuses:

Notably, you now have some additional "approval" statuses, but you can change what wording a status has on the portal per Request Type. So you could still make them all state "Waiting for Approval" for the first step to customers, regardless of what it's called in the agent view:

  • Go to Project Settings > Request Types
  • Select any Request Type
  • From the tabs, select Workflow statuses
  • Change the Status name to show to the customer

---

Workflow Conditions:

You could also add Workflow Conditions (Value Field) to limit each initial transition from "New Issue" based on the Request Type value, as a failsafe, and to allow the initial transition to be manual if you prefer.

I didn't suggest it here though as the Automation Rule would always handle the initial transition.

---

Let us know if this helps you find the right solution!

Ste

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
STANDARD
PERMISSIONS LEVEL
Product Admin
TAGS
AUG Leaders

Atlassian Community Events