JEP - Smart Assignment Post Function

This post function enables you to assign an issue to a user using your choice from a variety of user selection categories and user selection strategies. It is simple to configure, and can fit a variety of your needs. 
You can find a description of its capabilities below.

To add the Smart Assignment Post Function:

Go to the transition of your workflow, switch to the Post Functions tab and then click on the Add post function link.

Select JEP - Smart Assignment Post Function and then click the Add button.

You will be redirected to the following page where you will configure the post function to your liking.

To configure the Smart Assignment post function:

  • Enable Only if assignee is empty if you want this post function to execute only when the issue's assignee is set to unassigned. 
  • Select your User Selection Category, choose between a Group, Role, User custom field, or Group custom field. Then add one or many item(s) that belong(s) to your chosen category.
  • Select your User Selection Strategy, choose between four different selection strategies. Their functionalities are described in the table below
    • If applicable, insert your JQL statement to filter the issues that will affect your selected strategy
User Selection StrategyDescription(*) Filter Issues with JQL
Simple round robin

This strategy assigns the users in a circular order, without priority. Every time the post function is executed, the user next in turn is assigned. Once every user in the user selection pool has been assigned to the issue, the strategy circles back and assigns the issue to first user that was assigned.

Last active userThis strategy assigns the issue to the user who was last active in the issue. It takes into account both the issue's change history (for example, the user who last caused a transition) and the issue's comment activity. -
Total number of assigned issues 

With this strategy, the user with the least number of assigned issues in total is selected. 

Total remaining estimationThis strategy selects the user with the least remaining estimate in total across all the issues assigned to them.(tick)
(*) These user selection strategies also offer the ability to filter the issues onto which those strategies will be applied using a JQL statement. Simply enter your JQL statement and the post function will only consider the issues within the statement's scope.

That's it, the post function has now been added to the transition!

For the configuration above, you should see the following on the transition page:

Please note:

  1. If your choice of a user selection category does not contain any users, the issue's assignee remains unchanged.
    For instance, this would occur if you choose a user custom field whose value has not yet been set.

  2. If there is more than one user that matches your post function configurations, the assignee will be chosen at random from this group of matched users.
    For example, assume that you choose the user selection strategy as total number of assigned issues, the user selection category as Group, and that you add the group developers. Assume also that developers contains Mark, Jane, and John. If John has 5 assigned issues and Mark and Jane each have 3 assigned issues, the post function will randomly assign either Mark or Jane since they have the same number of least assigned issues.

Do not forget to publish the workflow!