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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.