This post function assigns an issue to a user in a project role.

In the very likely case that there is more than one user in the specified project role, you can specify a default user using either JWT project properties or JWT user properties.

Configuration

Project role

Select the project role containing the users the new assignee should be retrieved from.

If you select a project role that is not available in the current project, the issue will not be reassigned.

Assignee

The assignee must be a member of the selected project role. Additionally you can define which exact role member the issue will be assigned to. You have the following options:

OptionDescription

Least busy user (fewest unresolved issues assigned)

This is the default. The issue will be assigned to the user with the lowest number of assigned issues. 

If multiple users have the same number of issues assigned (e.g. none) the issue will be assigned to any of those users randomly.

Least busy user (skip if current assignee is already a project role member)

The issue will be assigned to the user with the lowest number of assigned issues unless the current assignee already is a member of the specified project role. In that case the issue will not be re-assigned.

Random user (skip if current assignee is already a project role member)

The issue will be randomly assigned to any member of the specified project role.

Random user (other than current assignee)

The issue will be randomly assigned to any member of the specified project role unless the current assignee already is a member of the specified project role. In that case the issue will not be re-assigned.

Previous assignee

The issue will be re-assigned to the member of the specified project role who has last been assigned the issue.  

If the issue has never been assigned to a role member, the issue will not be re-assigned.

Previous assignee (or default user, if not present)

Variant where as a fallback the issue will be assigned to the default user

Default users can be specified using JWT project properties or JWT user properties.

If the issue has never been assigned to a role member and no default role member has been specified the issue will not be re-assigned.

Previous assignee (skip if current assignee is already a project role member)Variant where the issue will not be re-assigned if the current assignee already is a member of the specified project role. In that case the issue will not be re-assigned.

Previous assignee (or default user, if not present / skip if current assignee is already a project role member)

Variant with the default user fallback, unless the current assignee already is a member of the specified project role. In that case the issue will not be re-assigned. 

Next user (in selected group) using round-robin

The issue will be randomly assigned to any member of the specified group using the round-robin algorithm.

What is a round-robin queue?

The selected group in combination with the selected project role, define a round-robin queue. Each time the post function is executed in any workflow with the same configuration (i.e., same group and project role), the issue will be assigned to the next user in the round-robin queue.
The round-robin queue consists of all the users who are members of the selected group and project role at the same time.

Next user( in selected group) using round-robin (skip if current assignee is already a project role member)

The issue will be randomly assigned to any member of the specified group using the round-robin algorithm unless the current assignee already is a member of the specified project role. In that case the issue will not be re-assigned..

Default user

The issue will be assigned to the default user

Default users can be specified using JWT project properties or JWT user properties.

Default user (skip if current assignee is already a project role member)

Variant where the issue will not be re-assigned if the current assignee already is a member of the specified project role. In that case the issue will not be re-assigned.

When selecting one of the "Least busy user" options, you have to additionally enter a JQL parser expression in JQL mode.

You can use this expression to further limit the number of potential assignees.

You could e.g. restrict the search to the current project by entering:

project = %{issue.project.key}

or to a specific issue type:

type in ("Bug", "Feature", "Improvement")
Conditional execution

You can optionally specify a logical expression to define the circumstances (or conditions) under which the post function should be executed.

The result of the logical expression must return a boolean value of either:

  • true → the post function will be executed
  • false → the post function will not be executed

Using the conditional operator, even complex or multi-layered conditions can be constructed.

Make sure to learn more about defining logical expressions and browse through the various examples here: Logical mode

Run as

Select which user will be used to execute this post function. By default this parameter is set to the current user. You can also use field codes to run the function as a dynamic user (e.g. current assignee).

Make sure that the user running the post function has all the relevant permissions to perform the actions defined in the configuration (e.g. "Update Issues")!

If you want to keep track the actions being performed automatically, we suggest to create a dedicated JWT account, granted all relevant permissions, and use it in the Run as parameter to identify which changes have been made with JWT.


Use cases and examples


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