Assign to last role member

To add 'Assign to last role member' post function to a transition:

  1. Click Edit for the workflow that has the transition you wish to add the post-function on.

  2. In the Workflow Designer, select the transition.

  3. Click on Post Functions in the properties panel.

  4. Click on Add post function.

  5. Select Assign to last role member from the list of post-functions.

  6. Click on Add to add the post-function on the transition.

  7.  

  8. Select the “Target issue” (see below)

  9. Select the project role from the Project Role drop-down.

  10. Click on Add to add the post-function to the transition. 

Known issues common to all post-functions

Known issues specific to this post-function

Troubleshooting this post-function configuration: In case the post-function does not work as expected these are the things to look out for

JMWE shows an error message on the issue view if any error occurs during the execution of the post-function. This message is displayed only if the current user is a Jira administrator. 

When you add this post-function to a transition and trigger the transition, the add-on looks for the last assignee (excluding the current user) of the target issue(s) who belongs to the selected Project Role. If such a member is found, it re-assigns the target issue to that user. If not, the Assignee field is not modified. By default, while searching for the last assignee belonging to the selected Project Role, the current assignee and the reporter are not considered.

Issue(s) to operate on

Select the issues to set the assignee field on. They can be:

  • Current issue: Select this option to set the assignee of the current issue. This is the default option.

  • Sub-tasks of the current issue: Select this option to set the assignee of sub-tasks of the current issue

  • Parent issue of the current sub-task: Select this option to set the assignee of the parent of the current issue

  • Issues that belong to the current issue (Epic): Select this option to set the assignee of issues that belongs to the current Epic

  • Epic of the current issue: Select this option to set the assignee of the Epic of the current issue

  • Child issues of the current issue in the Portfolio hierarchy: Select this option to set the assignee of child issues of the current issue in the Portfolio hierarchy

  • Parent issue of the current issue in the Portfolio hierarchy: Select this option to set the assignee of the parent issue of the current issue in the Portfolio hierarchy

  • Issues linked to the current issue through any link type: Select this option to set the assignee of the current issues' linked issues

  • Issues linked to the current issue through the following link type: Select this option to set the assignee of issues linked to the current issue through a specific link type. Select the specific link type under “Issue link”

  • Issues returned by the following Nunjucks template: Select this option to set the assignee of the issues returned by the result of a Nunjucks template. Input a Nunjucks template which is a comma-separated list of valid issue keys. For example:

    • "TEST-1"

    • "TEST-1","TEST-2"

    • {{ issue.fields.parent.key }}

    • {{ issue.fields.subtasks | join(",", "key") }}

  • Issues returned by a JQL search: Select this option to set the assignee of the issues returned by a JQL search. Input a JQL search expression. For example:

    • project = TEST returns issues of the project with the key TEST

    • project = {{ issue.fields.project.key }} and assignee = {{currentUser._accountId}} returns issues of a project that belong to the project with key TEST and the assignee is the current user

    • 1 2 3 4 5 {% if issue.fields.assignee %} assignee = {{issue.fields.assignee._accountId}} {% else %} issuekey=INVALID-1 {% endif %}

      Note that the {% if %} block is necessary to avoid an invalid JQL query when the issue is unassigned. In that case, the template will return a valid JQL query that returns no issue (issuekey=INVALID-1).

Options

  • Include Reporter: If no previous assignee belonging to the selected Project Role was found, and the reporter belongs to the selected Project Role, then the target issue is assigned to the reporter.

  • Include Current Assignee: If the current assignee belongs to the selected Project Role, then the target issue stays with the current assignee.

  • Skip Inactive Users: The inactive users are skipped while searching for the last user of the selected Project Role.

  • Send notifications: Jira sends notifications for the change in the Assignee field value on the target issue. You can control the default value of the "Send notifications" option in the Configuration page under JMWE administration. Click here for more information.

Conditional execution

To execute this post-function based on the result of a Nunjucks template see Conditional execution.

Run As

  • Run as current user: The current user will be the author of the assignee change.

  • Run as add-on user: The add-on user will be the author of the assignee change. 

  • Run as this user: Any user selected in this field will be the author of the assignee change.

If you select any option other than "Run as add-on user", so that the assignment appears to be done by the current user or a specific user, the selected user will need to have the Edit Issues permission.

Delayed execution


Use case

A typical use of this workflow post-function is to assign an issue to the last member who belongs to a specific project role. Consider a use where on reopening a ticket you want to re-assign the issue to the developer who last worked on the issue. To configure it:

  1. Add the “Assign to last role member” post-function to the “Reopen” transition of the workflow

  2. Select “Target issue” as “Current issue”

  3. Select the project role as “Administrators”

  4. Save the post-function

  5. Publish the workflow

See here for more use cases.