Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Automation - Update Epic custom field if same custom field of child issues have a particular value

Peter Brown September 18, 2023

I have a custom field 'RAG' that contains 3 possible values - Red, Amber & Green

If 'RAG' value is changed on any child issue I would like to have the following checks automated and the value of the Epic 'RAG' field updated as per the rules below:

If any child issue has a value of RED the Epic should be RED

ELSEIF no child is RED but a child issue has a value of AMBER the Epic should be AMBER

ELSE if all child issues are GREEN the Epic should be GREEN

1 answer

0 votes
Trudy Claspill
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
September 28, 2023

Hello @Peter Brown 

Welcome to the Atlassian community.

You can do that with a rule like this:

(1) Triggered based on a change to the RAG field, first confirm that change occurred on an issue that is a child of an Epic.

(2) Then lookup up how many child issues of that Epic have RAG set to red, and record that number

(3) Then lookup up how many child issues of that Epic have RAG set to amber, and record that number

(4) Set up an IF/ELSE Condition

- check if the counter you had for child issues set to Red is more than 0. if it is, set RAG on the epic to red

- if the Red counter was not greater than 0, then check if the Amber counter is greater than 0. If it is, set RAG on the epic to Amber.

- If neither the Red not Amber counters was greater than 0, set RAG on the epic to green.

(1) TRIGGER: Field Value Changed
Field: RAG
CONDITION: Related Issues
Related Issues: Epic
Condition: Exists

(2)ACTION: Lookup Issues
JQL: "Epic Link" = {{issue.epic.key}} and "RAG"="Red"
ACTION: Create Variable
Variable name: Red
Smart Value: {{lookupIssues.size|0}}

(3)ACTION: Lookup Issues
JQL: "Epic Link" = {{issue.epic.key}} and "RAG"="Amber"
ACTION: Create Variable
Variable name: Amber
Smart Value: {{lookupIssues.size|0}}

(4)CONDITION: IF/ELSE:
Advanced Compare
First value: {{Red}}
Condition: greater than
Second value: 0

FOR EACH: Related Issue
Type of related issue: Epic (parent)

ACTION: Edit issue
set RAG field to Red

CONDITION: ELSE IF:
Advanced Compare
First value: {{Amber}}
Condition: greater than
Second value: 0

FOR EACH: Related Issue
Type of related issue: Epic (parent)

ACTION: Edit issue
set RAG field to Amber

CONDITION: ELSE
FOR EACH: Related Issue
Type of related issue: Epic (parent)

ACTION: Edit issue
set RAG field to Green

Peter Brown October 2, 2023

Hi @Trudy Claspill

thank you for responding and providing a solution :)

I'm having a problem when I try to add the JQL you have posted in this part of your solution:

CONDITION: ELSE
FOR EACH: Related Issue
Type of related issue: Epic (parent)

When I choose the "Add component" I only get a "IF: Add a condition" option - there is no "ELSE" option?

Also - if the first check on the "Red" variable finds a child with RAG=Red .. does the automation stop after setting the Epic to Red or does it continue on checking for Amber also?

I know your solution has "ELSE IF" for the Amber condition but both Red and Amber conditions simply have a IF condition only when I set the rule up?

Also .. also .. There will be children of the same epic who could have RAG=Red or Rag=Amber so it needs to exit after it finds the first child with Red ..  is this built into automation rules?

thx

Pete

Trudy Claspill
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
October 2, 2023

Please provide screen images that show the rule you have created. I don't think you have created it according to my instructions.

Suggest an answer

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

Atlassian Community Events