We are setting up a process for incoming requests, with hidden fields set on the customer portal.
One of these fields is 'Assignee Group' we cannot use this single group field in the workflow approvals, so we need to copy the users from the specified group to the 'Approvers' field.
Having searched around for a few hours, though i was getting somewhere, but cannot get this to work for the life of me. has to be something basic i am missing:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.util.IssueChangeHolder
def groupManager = ComponentAccessor.groupManager
def customFieldManager = ComponentAccessor.customFieldManager
def groupNameField = customFieldManager.getCustomFieldObjectsByName("Approver Group")
def groupNameSelected = issue.getCustomFieldValue(groupNameField)
def users = groupManager.getDirectUsersInGroup(groupNameSelected)
def approversField = customFieldManager.getCustomFieldObjectsByName("Approvers")
log.debug("Approvers: ${issue.getCustomFieldValue(approversField)}")
IssueChangeHolder changeHolder = new DefaultIssueChangeHolder();
approversField.updateValue(null, issue, new ModifiedValue("", users), changeHolder);
Have this working now :-)
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.UserPropertyManager
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.IssueChangeHolder
def groupManager = ComponentAccessor.groupManager
def customFieldManager = ComponentAccessor.customFieldManager
def groupNameField = customFieldManager.getCustomFieldObjectsByName("Approver Group")
def groupNameSelected = issue.getCustomFieldValue(groupNameField)
def users = groupManager.getDirectUsersInGroup(groupNameSelected)
def approversField = customFieldManager.getCustomFieldObject("customfield_10200")
//log.debug("Approvers: ${issue.getCustomFieldValue(approversField)}")
IssueChangeHolder changeHolder = new DefaultIssueChangeHolder();
issue.setCustomFieldValue(approversField, users)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.