You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

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 statusesIn line 8, change the value to true, if you want to allow unselected statuses.

Example:

let SA = true;
Allow unselected resolutionsIn line 9, change the value to true, if you want to allow unselected resolutions.

Example:

let RA = true;
Allow unsatisfied field value filterIn 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 valuesJira expression settings

Use case All sub-tasks in the Closed status must have a specific resolution

ParameterValue
Filter by issue typeempty
Filter by statusClosed
Filter by resolutionDone
Filter by field valueempty
Minimum number of sub-tasksleave the default value 0 unchanged
Maximum number of sub-tasksleave the default value 1000 unchanged
Additional options

Check

Allow unselected issue types

Allow unselected statuses

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

ParameterValue
Filter by issue typeempty
Filter by statusClosed, Done
Filter by resolutionempty
Filter by field valueempty
Minimum number of sub-tasksleave the default value 0 unchanged
Maximum number of sub-tasksleave the default value 1000 unchanged
Additional options

Check

Allow unselected issue types

Allow unselected resolutions

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

ParameterValue
Filter by issue typeTest case
Filter by statusempty
Filter by resolutionDone
Filter by field valueempty
Minimum number of sub-tasks3
Maximum number of sub-tasksleave the default value 1000 unchanged
Additional options

Check

Allow unselected issue types

Allow unselected statuses

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.