The purpose of this script is to automatically add groups to the field in the request if one or another component is selected.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.bc.group.search.GroupPickerSearchService
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.crowd.embedded.api.Group
import com.atlassian.jira.user.ApplicationUser
ApplicationUser currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def groupManager = ComponentAccessor.getGroupManager()
def multiGroupCf = customFieldManager.getCustomFieldObject(10261L);
def arrayOfComponents = issue.getComponents();
def groupList = getCustomFieldValue(issue,10261L)?:[];
for(def comp in arrayOfComponents){
if(comp.getName()=="Email (Почта)"){
groupList += [getGroup("jira-administrators")];
}
}
issue.setCustomFieldValue(cf, groupList.collect{it})
ComponentAccessor.getIssueManager().updateIssue(currentUser, issue, EventDispatchOption.ISSUE_UPDATED, false)
ApplicationUser getGroup(String groupName){
return ComponentAccessor.getGroupManager().getGroupByName(groupName)
}
def getCustomFieldValue(issue, Long fieldId) {
issue.getCustomFieldValue(ComponentAccessor.customFieldManager.getCustomFieldObject(fieldId))
}
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.