This validator can block a transition based on the state and the number of an issue's sub-tasks.

The validator only makes sense when used in a workflow used by standard issue types.

You can specify multiple filter criteria that will be "and concatenated". Per default, all sub-tasks must match the combination of all criteria 

Configuration

Filter by issue type

If you select specific issue typesall sub-tasks must be any of the selected issue types. If sub-tasks with other issue types are found, the validator will fail.

The additional filters can be used to further restrict the issues to be analyzed.

If you leave this filter blank, e.g. if the issue type is irrelevant, you must check the additional option Skip issue type filter / issues in unselected issue types.

If you select specific issue types and also check the additional option Skip issue type filter / issues in unselected issue types, the additional criteria (status, resolution, field value) will only be applied to the selected issue types.

Filter by status

If you select specific statusesall sub-tasks must be in any of the selected statuses. If sub-tasks with other statuses are found, the validator will fail.

The additional filters can be used to further restrict the issues to be analyzed.

If you leave this filter blank, e.g. if the status is irrelevant, you must check the additional option Skip status filter / issues in unselected statuses.

If you select specific statuses and also check the additional option Skip status filter / issues in unselected statuses, the additional criteria (issue type, resolution, field value) will only be applied to the issues in the selected statuses.

Filter by resolution

If you select specific resolutionsall sub-tasks must have any of the selected resolutions. If sub-tasks with other resolutions are found, the validator will fail.

The additional filters can be used to further restrict the issues to be analyzed.

If you leave this filter blank, e.g. if the resolution is irrelevant, you must check the additional option Skip resolution filter / issues with unselected resolutions.

If you select specific resolutions and also check the additional option Skip status filter / issues in unselected statuses, the additional criteria (issue type, resolution, field value) will only be applied to the issues with the selected resolutions.

Filter by field value

Optionally limit the sub-tasks to be counted or analyzed by their field values. To achieve this you must enter an expression in Logical mode. The expression must return  true or false

Examples: 

ExpressionDescription
%{seed.issue.assignee} != null 

All sub-tasks must be assigned to a user. If unassigned sub-tasks are found, the validator will fail.

Values in sub-tasks have to be referenced by their seed field codes.

%{issue.dueDate} <= %{seed.issue.dueDate}

All sub-tasks must have a due date of equal to or later than the current issue's due date.

Values in sub-tasks have to be referenced by their seed field codes.

If you specify an expression and also check the additional option Skip issues with unmatched field values, the additional criteria (issue type, resolution, field value) will only be applied to the issues that match the expression.

Minimum number of sub-tasks

Specify the minimum number of the sub-tasks that need to satisfy the specified filter criteria. The default value is 0 to ensure the validator passes if the current issue does not have any sub-tasks.

If you set this number to 1, the validator will fail if the issue does not have any sub-tasks or if the existing sub-tasks don't match the specified filter criteria.

Maximum number of sub-tasks

Specify the maximum number of the counted sub-tasks that need to satisfy the specified filter criteria. The default is 1000.

If you set this number to 1, the validator will fail as soon as more than one sub-task satisfies the specified filter criteria.

Additional options

The following options can be used to refine the number of issues you want to analyze in this validator.

Per default all filters are mandatory, filters are "and concatenated" and you cannot save your configuration unless you have specified values. Any sub-task being analyzed by the validator must match all criteria.

If you leave a filter blank you must check the additional option to skip the filter. Otherwise you cannot save your configuration.


The additional options allow you to override the default behavior.

FilterAdditional optionDescription
No value selectedNot checked (error)Not possible. If you want to skip the filter you have to uncheck the corresponding additional option.
No value selectedChecked (tick)

Skip this filter completely. An equivalent would be to select all available options, e.g. all issue types are allowed.

One or multiple values selectedNot checked (error)Enforce that all sub-tasks which are analyzed must have the selected values, e.g. only selected issue types are allowed.
One or multiple values selectedChecked (tick)

Issues not matching the specified value are allowed and will be ignored when evaluating whether the validator passes

By default, whenever a value is selected in a filter it will be combined with all other filter criteria and all sub-tasks must match the filter combination.

If you only want to analyze specific issue types (e.g. "Test cases"), select "Test case" in the issue type filter and check the corresponding additional option. This way, other sub-tasks (which are not "Test cases") can exist and will not be considered.

Examples

The table below lists a few example configurations and their JQL equivalent.

ConfigurationJQL
  • Issue type: Sub-task
  • Status: Closed
  • Resolution: blank
  • Additional options: 
    • Skip resolution filter
type = Sub-task AND status = Closed
  • Issue type: Sub-task
  • Status: Closed
  • Resolution: blank
  • Additional options: 
    • Skip issue type filter
    • Skip resolution filter
(type = Sub-task AND status = Closed) OR type != Sub-task
  • Issue type: Sub-task
  • Status: Closed
  • Resolution: Done
  • Additional options: 
    • Skip issue type filter
    • Skip resolution filter
(type = Sub-task AND status = Closed AND and resolution = Done) OR type != Sub-task OR resolution != Closed


OptionDescription
Skip issue type filter / issues in unselected issue types

The issue type is irrelevant for this validator or sub-tasks in non-selected issue types will be ignored when evaluating whether the validator passes.

Skip status filter / issues in unselected statuses

The status is irrelevant for this validator or sub-tasks in non-selected statuses will be ignored when evaluating whether the validator passes.

Skip resolution filter / issues with unselected resolutions

The resolution is irrelevant for this validator or sub-tasks with non-selected resolutions will be ignored when evaluating whether the validator passes.

Field values are irrelevant for this validator or sub-tasks with unmatched field values will be ignored when evaluating whether the validator passes.

Validation options

The validation can be skipped under certain circumstances Select one or multiple scenarios in which you want to skip the validation to ensure the correct execution of certain operations.
OptionDescription

If the transition is triggered by a JWT post function, e.g. through Transition issue, the validation will be skipped.

If the transition is triggered by a bulk operation, the validation will be skipped.

If the create transition is triggered by a clone operation, the validation will be skipped.

f the create transition is triggered by a mail handler, the validation will be skipped.

Error message

You can optionally define a custom error message in case the validator fails, which will be shown to the user trying to execute the transition.

You have the following options:

Location

Define where the error message should be displayed. By default, the message will be shown at the top of the transition screen, or in case there is no transition screen, as a popup.

Alternatively, you can locate the message below any other field. This option only makes sense, if there is a transition screen defined for the specific transition.

Due to limitations in Jira Service Management, the location parameter will be ignored on Jira Service Management related screens. The location parameter only works for the Create Issue transition screen if JSD version 4.10 or higher is being used.

Message

Define the content of the error message in Basic text mode or Advanced text mode.

Learn more about the possibilities of the JWT expression editor.

In comparison to e.g. our calculated custom fields it is not possible to display HTML here. Displaying links to specific issues, for example, is not possible inside the error message.

Translations

After clicking on the Add translation button you can optionally translate the error message to other languages.

The language in which the error message will be displayed depends on the language setting of the individual users.

If you want to use this functionality in a condition instead, have a look at the following condition: Condition on sub-tasks



If you still have questions, feel free to refer to our support team.