---
title: "Assign to role member"
canonical: "https://support.appfire.com/space/JMWE/78056045/Assign%20to%20role%20member"
format: markdown
---
> ℹ️ Are you using JMWE for Cloud and want to learn how to use this post-function? Head to our documentation [here](https://appfire.atlassian.net/wiki/x/J4itB).

When you add this post-function to a transition and trigger the transition, the add-on checks for the default member of the selected `Project Role`. If such member is found, it assigns the issue to the fetched user. If not, the issue is assigned to a random member of the selected `Project Role`. If there are multiple default members, a random member is picked among them.

> ⚠️ The easiest is to have only one user in the selected `Project Role` for each applicable project.

> ℹ️ <span style="color: #000000">If the selected Project Role can contain more than one user, you should specify how the post-function will identify the default member to use.</span>
> ℹ️ 
> ℹ️ Since Jira does not support the notion of a default member for project roles, the *Assign to role member* function identifies the default member of a project role for a project by going through all the members of the project role looking for a User Property with the following two characteristics:
> ℹ️ 
> ℹ️ - Property key: defaultAssignee
> ℹ️ - Property value: contains a comma-separated list of entries in the form **ProjectKey** -> *RoleName. *For example:

|  |
| --- |
| `TST -> Developers, JMWE -> Testers` |

> ℹ️ For backward compatibility, the following two forms are also supported:
> ℹ️ 
> ℹ️ - Property Key: *{ProjectName}***x***{RoleName}* (for example: *CoolProjectxQAMembers*)
> ℹ️ - Property value: "**default**" (without the quotes)
> ℹ️ 
> ℹ️ Or: (since 1.5.3)
> ℹ️ 
> ℹ️ - Property Key: *defaultAssignee{n}*  (where n is a number from 1 up, for example: *defaultAssignee1*)
> ℹ️ - Property value: *{ProjectName}***x***{RoleName}* (for example: *CoolProjectxQAMembers*)

### Action

To customize the assignment select any of the following options:

- **Force assignment (default) - **Forcibly assigns the issue to the default member of the selected `Project Rol`e. In this case, user selected in the `Assignee `field on the **Transition screen** (if any) is ignored.
- **Only if "Automatic" - **Assigns the issue to the default member of the selected `Project Role` only if the user selects `Automatic `in the `Assignee `field on the **Transition screen**. If not, the Assignee field will not be modified.
- **Use selected assignee only if member of required role - **Assigns the issue to the user selected on the **Transition screen,** only if the user belongs to the selected `Project Role`. If not, the Assignee field is not modified.
- **Use selected assignee if changed on the transition screen - **Assigns the issue to the default role member of the selected `Project Role `only if the assignee is not changed (or set to Automatic) on the **Transition screen**.

### **Conditional execution**

To execute this post-function based on the result of a groovy expression see [Conditional execution/validation using a Groovy expression](https://appfire.atlassian.net/wiki/spaces/JMWE/pages/461996060).

### Error Handling

<span style="color: #333333">By default, all errors (Java Exceptions) raised by this post-function, including those raised by custom Groovy scripts, will be logged in the </span>[JIRA log file](https://confluence.atlassian.com/adminjiraserver073/logging-and-profiling-861253813.html)<span style="color: #333333"> but will not be reported to the user and will not prevent the transition from completing. However, when designing new workflows or troubleshooting them, it is more convenient to be notified immediately of any such error during the execution of the transition. For example on the production Jira instances you might want to show errors </span><span style="color: #333333">*only for the post-function(s) being worked on*</span><span style="color: #333333">, in order to avoid disrupting other workflows. To make errors raised by the </span><span style="color: #333333">*current*</span><span style="color: #333333"> post-function prevent the transition from completing and show the error in the browser, select </span>`Make transition fail when an error occurs in this post-function`<span style="color: #333333">.</span>

<span style="color: #333333">If you want to show all the errors, either </span><span style="color: #333333">*only to the admins *</span><span style="color: #333333">or to</span><span style="color: #333333">* all users*</span><span style="color: #333333">, configure the option globally on the </span><span style="color: #333333">[JMWE configuration page](http://innovalog.atlassian.net/wiki/spaces/JMWE/pages/139627148/JMWE+administration+pages)</span><span style="color: #333333">. For example, on development and staging Jira instances, you can activate error reporting for </span><span style="color: #333333">*all*</span><span style="color: #333333"> JMWE post-functions, to display all the errors and it is recommended to do so, and on production Jira instances you might want to activate error reporting only to administrators so that they can be made aware of configuration errors.</span>

> ⚠️ When the option is selected on a post-function, it overrides the configuration <span style="color: #333333">on the </span><span style="color: #333333">[JMWE configuration page](http://innovalog.atlassian.net/wiki/spaces/JMWE/pages/139627148/JMWE+administration+pages)</span><span style="color: #333333">.</span>