Hi, On a certain condition i would like to copy the value of the component lead (of component selected) to the Assignee field via custom groovy script which i have placed on a create issue transition but i am getting the below error on the script runner compiler, Can someone please help me to get the proper code to pass the users between these two fields?
import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.user.DelegatingApplicationUser; import com.atlassian.jira.issue.ModifiedValue; import com.atlassian.jira.issue.util.DefaultIssueChangeHolder; import com.atlassian.jira.issue.util.IssueChangeHolder; import com.atlassian.jira.issue.MutableIssue; import com.atlassian.jira.user.util.UserManager; import com.atlassian.crowd.embedded.api.User; def projectComponentManager = ComponentAccessor.getProjectComponentManager() def customFieldManager = ComponentAccessor.getCustomFieldManager(); def cfQEAssignee = customFieldManager.getCustomFieldObjectByName("QE Assignee"); def QEAssigneeValue = issue.getCustomFieldValue(cfQEAssignee); if(QEAssigneeValue == null){ issue.assignee = issue.getComponentObjects().getAt(0)?.getLead(); }
Exception.png
Use .assigneeId rather than .assignee
@Jamie Echlin (Adaptavist), Thanks for the quick response.
Proceeding forward, I am not able to copy the value from a user-picker field to the assignee. Can you please help me with that.
import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.user.DelegatingApplicationUser; import com.atlassian.jira.issue.ModifiedValue; import com.atlassian.jira.issue.util.DefaultIssueChangeHolder; import com.atlassian.jira.issue.util.IssueChangeHolder; import com.atlassian.jira.issue.MutableIssue; import com.atlassian.jira.user.util.UserManager; import com.atlassian.crowd.embedded.api.User; def projectComponentManager = ComponentAccessor.getProjectComponentManager() def customFieldManager = ComponentAccessor.getCustomFieldManager(); def cfQEAssignee = customFieldManager.getCustomFieldObjectByName("QE Assignee"); def QEAssigneeValue = issue.getCustomFieldValue(cfQEAssignee); if(QEAssigneeValue == null){ issue.assigneeId = issue.getComponentObjects().getAt(0)?.getLead(); } if(QEAssigneeValue != null){ issue.assigneeId = QEAssigneeValue; }
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Since you're setting the assigneeId, you need to use the user key, not a user object.
issue.assigneeId = issue.componentObjects[0]?.lead?.key
...then in the next block
issue.assigneeId = QEAssigneeValue.key
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.