Clone wiki

JIRA Workflow Toolbox / Amazing Things You Can Do

JIRA Workflow Toolbox allows to do things you wouldn't believe possible that easily.

Make Linked Issues, Subtasks or JQL selected issues Progress through its Workflows

You can trigger a transition on every linked issues and subtask, or on a certain subset of linked issues and subtasks, defined by issue type, issues status and project belonging. This way you make them progress through its workflows.

Set a Field as a Function of other Fields

It is possible to set the value of a field based on the values of another fields. For example, we could set the value of a custom field Urgency based on issue Priority and the value of another custom field called Impact.

Automatic creation of one or more Issues and Subtask

Using a post-function you will be able to create one or multiple new issues and subtasks when executing a transition in your workflows. You can also set the fields of the new issues based on the values of fields in other issues, and link the new issues to the other issues in your JIRA instance.

Compose Dynamic Text by inserting Field Values into a Text Template

You can compose free text by inserting, where you need it, the values of custom fields and of more than 50 virtual fields available. For example, you could compose a text to be inserted in the issue at the moment of certain transition execution.

Assign issue to a user by Project Role

Assign an issue to a user in a project role. In case there are more than one user with the project role, you can set a user as default for a project role in a project. You can use this functionality with every post-function in the plugin that allows you to write on any field of type User or Multi User.

Adding or Removing single or subset of Items from Multi Valued Fields

You can add or remove single or set of items from fields of type Multi Select, Multi Checkbox, Multi User Picker, Multi Group Picker, Components, Affected versions, Fixed versions and Version picker.

You can block or hide a transition depending on existing issue links (which issue link types and how many there are), the issue types of linked issues, its statuses, and the projects they belong to.

Validation or Condition on Complex Time Expressions

It is possible to add conditions and validations depending on complex time expressions (day of the week, day to the month, time intervals, etc).

Automatically Log Work based on Start Progress and Stop Progress transitions

Automatically insert a work log for the time passed since triggering of Start Progress transition to triggering of Stop Progress transition.

Make parent issue progress through its workflow

A transition in parent issue can be triggered when certain subtask transition is executed. We are going to use that feature to close parent issue automatically, when the last of its subtasks is closed.

Other related examples:

Automatically Resolve Epic when all Stories become Closed or Resolved

Special issue link types provided by JIRA Agile are also supported.

Preventing Issue Creation If Already Exists Another Issue With Same Field Value

We want to prevent issue creation when there is already another issue in the project with the same value in a certain field. That field works as a kind of alternative issue key in the project.
You can easily extend this example to much more complex cases, like preventing coincidence of values in more than one field at the same time, or in more than one project, all projects in a category, or in all the projects in JIRA.

Automatically become watcher of every issue blocking an issue assigned to us

Automatically become watcher of every issue blocking issues assigned to us, in order to react as soon as possible to any change in those issues preventing us to proceed with issues assigned to us.

Limit Issue Creation per Project Role and Issue Type

This is a way to overcome a serious shortcoming of JIRA: JRA-5865

Block / Unblock Transition after Issue Rested for Certain Time in Current Status

We are going to show how to block or unblock a transition after issue rested for some time in current status. More concrete examples are:

  • Prevent a closed issue from being reopened after resting 1 week closed.
  • Ensure that issues rest in certain status at least 24 hours.
  • Enroute issues to different statuses depending on the time they rested in current status.

Propagate Highest Priority From Blocked Issues To Blocking Issues

Make an issue inherit the highest priority among priorities of issues being blocked (directly or transitively) by that issue.

Parse Summary for setting issue Priority

Setting Priority of an issue when we write the priority name between brackets in the issue Summary. This can be particularly useful for issues created by email.

Parse Summary for setting Due Date

Setting Due Date of an issue when we write "due on" followed by a date in the Summary of the issue. This can be particularly useful for issues created by email.

Creating issue links when writing sentences containing issue keys in issue Description.

Limiting valid Dates for Worklogs

A validation for preventing work logs with a beginning date before a time limit in the past. In particular, how to avoid work logs where the associated date is earlier than 10 days in the past, i.e., if we are on 25th march, today we only allow work logs with 15th march or later as beginning date.

Limiting the number of hours a user can log per day

How to apply a restriction on the sum of hours a user can log in a single day, counting work logs in any issue.

Other amazing use cases