The condition Condition on sub-tasks is not yet available in JWT Cloud, but you can implement it using the Jira expression condition.
Create a Jira expression condition.
Create a Jira expression by migrating the parameters of the Condition on sub-tasks
Copy the following template for the Jira expression to the parser expression editor:
let ITI = []; let SI = []; let RI = []; let FVE = (issue => issue); let MI = 0; let MA = 1000; let ITA = false; let SA = false; let RA = false; let FVEA = false; let CON = (issue => ( (ITI.length == 0 || ITI.includes(issue?.issueType?.name)) && (SI.length == 0 || SI.includes(issue?.status?.name)) && (RI.length == 0 || RI.includes(issue?.resolution?.name)) && FVE(issue) )); issue.subtasks.filter(CON).length >= (MI ? MI : 0) && issue.subtasks.filter(CON).length <= (MA ? MA : 1000) && issue.subtasks.every(issue => ( CON(issue) || (ITA && !ITI.includes(issue?.issueType?.name)) || (SA && !SI.includes(issue?.status?.name)) || (RA && !RI.includes(issue?.resolution?.name)) || (FVEA && !FVE(issue)) ))
For the individual parameters parts of this expression have to changed as described in the table below.
JWT DC | JWT DC option | JWT Cloud | Notes |
---|---|---|---|
Filter by issue type | In line 1, add the issue type names to be filtered to the list. | Example: let ITI = ["Submission", "Mail"]; | |
Filter by status | In line 2, add the status names to be filtered to the list. | Example: let SI = ["In Progress", "To Do"]; | |
Filter by resolution | In line 3, add the resolution names to be filtered to the list. | Example: let RI = ["Won't do", "Duplicates"]; | |
Filter by field value | In line 4, adopt the function according to your needs by adding the respective Jira expression. It has to return a logical value. A list of field codes can be found in Field codes. For more information about Jira expression, please have a look at Atlassian's documentation. | Examples: let FVE = (issue => issue?.attachments?.length >0 ) let FVE = (issue => issue?.project.key == 'PRJ' ) | |
Minimum number of sub-tasks | In line 5, change the minimum number of sub-tasks if necessary (the default is set to 0) | Example: let MI = 3 | |
Maximum number of sub-tasks | In line 6, change the maximum number of sub-tasks if necessary (the default is set to1000) | Example: let MA = 5 | |
Additional options | Allow unselected issue types | In line 7, change the value to true, if you want to allow unselected issue types. | Example: let ITA = true; |
Allow unselected statuses | In line 8, change the value to true, if you want to allow unselected statuses. | Example: let SA = true; | |
Allow unselected resolutions | In line 9, change the value to true, if you want to allow unselected resolutions. | Example: let RA = true; | |
Allow unsatisfied field value filter | In line 10, change the value to true, if you want to allow an unsatisfied field value filter. | Example: let FVEA = true; |
Examples
JWT DC parameter values | Jira expression settings | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Use case All sub-tasks in the Closed status must have a specific resolution
| let ITI = []; let SI = ["Closed"]; let RI = ["Done"]; let FVE = (issue => issue); let MI = 0; let MA = 1000; let ITA = true; let SA = true; let RA = false; let FVEA = false; .... | ||||||||||||||||
Use case Close parent issue only when all sub-tasks are closed
| let ITI = []; let SI = ["Closed","Done"]; let RI = []; let FVE = (issue => issue); let MI = 0; let MA = 1000; let ITA = true; let SA = false; let RA = true; let FVEA = false; ... | ||||||||||||||||
Use case An issue must have at least 3 resolved Test Cases
| let ITI = ["Test case"]; let SI = []; let RI = ["Done"]; let FVE = (issue => issue); let MI = 3; let MA = 1000; let ITA = true; let SA = true; let RA = false; let FVEA = false; ... |
If you still have questions, feel free to refer to our support team.