Hi Team,
I want to copy Assignee value to Testers field only if the Assignee is a QA User project role using groovy script.
Can someone help me.
Thanks in advance
Hi Teju,
Here's how you do it. I'm going to assume that your 'Testers' field type is a single user picker and its ID is 11111:
import com.atlassian.jira.component.ComponentAccessorimport com.atlassian.jira.issue.fields.CustomFieldimport com.atlassian.jira.security.roles.ProjectRoleManagerimport com.atlassian.jira.security.roles.ProjectRoleProjectRoleManager roleMgr = ComponentAccessor.getComponent(ProjectRoleManager)ProjectRole qaUserRole = roleMgr.getProjectRole("QA User")CustomField testers = ComponentAccessor.getCustomFieldManager().getCustomFieldObject((Long) 11111)if (roleMgr.isUserInProjectRole(issue.getAssignee(), qaUserRole, issue.getProjectObject())){issue.setCustomFieldValue(testers, issue.getAssignee())}
@Ivan Tovbin,
Yes it worked. but the Testers field is multi user picker and need to append users not to override. How to do that?
That's easy.
import com.atlassian.jira.component.ComponentAccessorimport com.atlassian.jira.issue.fields.CustomFieldimport com.atlassian.jira.security.roles.ProjectRoleManagerimport com.atlassian.jira.security.roles.ProjectRoleimport com.atlassian.jira.user.ApplicationUserProjectRoleManager roleMgr = ComponentAccessor.getComponent(ProjectRoleManager)ProjectRole qaUserRole = roleMgr.getProjectRole("QA User")CustomField testers = ComponentAccessor.getCustomFieldManager().getCustomFieldObject((Long) 11111)if (roleMgr.isUserInProjectRole(issue.getAssignee(), qaUserRole, issue.getProjectObject())){ ArrayList<ApplicationUser> testerList = issue.getCustomFieldValue(testers) if (!testerList.contains(issue.getAssignee()){ testerList.add(issue.getAssignee()) issue.setCustomFieldValue(testers, testerList) }}
HiĀ @Ivan Tovbin,
Now am getting error.
Attached screenshot
It looks like you're new here. Sign in or register to get started.