Use case
Prevent users from starting too many work items at the same time.
Before a work item can be moved to In Progress, the validator checks how many other work items are already assigned to the same user and currently in the In Progress status category.
This can help teams keep work-in-progress under control and encourage users to finish existing work before starting additional items.
Before you start
Make sure that:
-
the work item has an Assignee
-
active work items use a status that belongs to Jira's In Progress status category
-
you define the maximum number of work items a user may have in progress at the same time
In the following example, the limit is set to 5 work items.
Configuration
Use the following JWT expression in the Logical Validator:
count(
issuesFromJQL(
"assignee = '" + %{issue.assignee} + "' AND statusCategory = 'In Progress' AND key != '" + %{issue.key} + "'")
) < 5
The expression returns true as long as the assignee has fewer than 5 other work items in the In Progress status category.
Error message
For example:
You already have 5 work items in progress. Complete or reassign one of them before starting another.
How it works
The expression dynamically searches Jira for all work items assigned to the same user that are currently in the In Progress status category.
The current work item is excluded from the search.
The validator then counts the matching work items and only allows the transition if the user has fewer than 5 active work items.
By combining JWT expressions with JQL, the validation can therefore take a user's current workload across Jira into account instead of validating only properties of the current work item.
Related use cases
| Use case | Workflow function | Use case description |
|---|---|---|
| Block a transition based on the day of the week |
Block transitions on weekends or any other day of the week. This use case is valid for both conditions and validators. The only difference is that you can specify an additional error message when using a validator. |
|
| Check whether an attachment was added during the transition. |
Make sure that the current user has uploaded a attachment during the transition. This use case is valid for both conditions and validators. The only difference is that you can specify an additional error message when using a validator. |
|
| Check if an attachment was added recently |
Make sure that the current user has uploaded a attachment during a definite period of time. This use case is valid for both conditions and validators. The only difference is that you can specify an additional error message when using a validator. |
|
| Block a transition if some issues under an epic are not in a certain status |
Check whether an epic has all issues under it in a certain status. This is particularly important if you want to block an epic as long as work is still being done on related sub-tasks. This use case is valid for both conditions and validators. The only difference is that you can specify an additional error message when using a validator. |
|
| Block a transition based on issue links |
Evaluate issue links and hide transitions based on the outcome. This use case is valid for both conditions and validators. The only difference is that you can specify an additional error message when using a validator. |
|
| Validate worklogs |
Evaluate if a user has logged more than a certain amount of time in the latest worklog.
|
|
| Evaluate the Parent field |
Evaluate different values of the issue in the Parent Link field of the transitioned issue. This use case is valid for both conditions and validators . The only difference is that you can specify an additional error message when using a validator. |
|
| Validate an issue only if a comment is written during the transition |
Evaluate the comments and block transitions based on the outcome. This use case is only valid for validators as it involves making changes during a transition. An additional error message can be added. |
|
| Ensure all work for a release is completed |
Make sure that a release can only proceed once all work items assigned to the same fix version have been completed. This can be useful for release approval or deployment transitions where you want to prevent a release from moving forward while unfinished work is still associated with it. |
|
| Block a transition based on sprint information |
Make sure that an issue is not in an active sprint. This use case is valid for both conditions and validators . The only difference is that you can specify an additional error message when using a validator. |
|
| Prevent users from starting too many work items |
Prevent users from starting too many work items at the same time. Before a work item can be moved to In Progress, the validator checks how many other work items are already assigned to the same user and currently in the In Progress status category. This can help teams keep work-in-progress under control and encourage users to finish existing work before starting additional items. |
|
| Check parent issue type |
Check whether the parent of the current issue is of a certain issue type. This is particularly important if you want to reuse a workflow for multiple sub-task issue types but only want a transition to be available if the sub-task belongs to a certain user story or a bug. This use case is valid for both conditions and validators. The only difference is that you can specify an additional error message when using a validator. |