importcom.atlassian.jira.component.ComponentAccessorimportcom.atlassian.jira.security.roles.ProjectRoleimportcom.atlassian.jira.security.roles.ProjectRoleActorsimportcom.atlassian.jira.security.roles.ProjectRoleManagerimportcom.atlassian.jira.user.ApplicationUser// FieldValueUtil is a class of methods allowing to get and set customfieldsimportcom.idalko.jira.groovy.FieldValueUtilimportorg.apache.log4j.Loggerimportcom.atlassian.jira.util.ImportUtils// Ensure that changes are indexed properlybooleanwasIndexing=ImportUtils.isIndexIssues();ImportUtils.setIndexIssues(true);Loggerlog=Logger.getLogger("com.idalko.scripts");ProjectRoleManagerprojectRoleManager=ComponentAccessor.getComponentOfType(ProjectRoleManager.class);//****************** APPROVERS *****************************************// get the list of approvers from the project roleProjectRoleapproverRole=projectRoleManager.getProjectRole("Approvers");if(approverRole==null){log.error("No 'Approvers' role found - is it configured ?")ImportUtils.setIndexIssues(wasIndexing);return;}ProjectRoleActorsapproverActors=projectRoleManager.getProjectRoleActors(approverRole,issue.getProjectObject())if(approverActors==null){log.error("No approver actors found");ImportUtils.setIndexIssues(wasIndexing);return;}Set<ApplicationUser>defaultApprovers=approverActors.getApplicationUsers();log.debug("default approvers = ${defaultApprovers}")FieldValueUtilfvuApprovers=newFieldValueUtil("Approvers");fvuApprovers.doSetFieldValue(issue,defaultApprovers);//****************** READERS *****************************************ProjectRolereaderRole=projectRoleManager.getProjectRole("Readers");if(readerRole==null){log.error("No 'Readers' role found - is it configured ?")ImportUtils.setIndexIssues(wasIndexing);return;}ProjectRoleActorsreaderActors=projectRoleManager.getProjectRoleActors(readerRole,issue.getProjectObject())if(readerActors==null){log.error("No reader actors found");ImportUtils.setIndexIssues(wasIndexing);return;}Set<ApplicationUser>defaultReaders=readerActors.getApplicationUsers();FieldValueUtilfvuReaders=newFieldValueUtil("Readers");fvuReaders.doSetFieldValue(issue,defaultReaders);ImportUtils.setIndexIssues(wasIndexing);
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.