Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Please help with writing a script

Alibek Malikov August 6, 2019

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))
}

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events