I am working with JIRA Service Desk plugin and JIRA script runner. I am trying to implement a script that will add new users based off people that are CCed on the original email to the Service Desk and add them to the ticket.
I have a external python script that gets the emails, but I dont know how to add the new users i am creating to a project role?
Below is my current script, The commented section is where I am trying to add new users:
String[] emails = output.split(","); List<ApplicationUser> requestParticipants = []; for(int i = 0; i < emails.length; i++){ def new_user = UserUtils.getUserByEmail(emails[i]) if(!new_user){ ApplicationUser user = userUtil.getUserByName(new_user.getName()) requestParticipants.add(user); } else{ String uuid = UUID.randomUUID().toString().replaceAll("\\W+", ""); userUtil.createUserNoNotification(emails[i], uuid, emails[i], emails[i]) ApplicationUser user = userUtil.getUserByName(new_user.getName()) // how can I assign them to the project role named Service Desk Customers requestParticipants.add(user); } }
Hi Daniel,
You can try something like this.
import com.atlassian.jira.bc.projectroles.ProjectRoleService import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.security.roles.ProjectRoleActor import com.atlassian.jira.security.roles.ProjectRoleManager import com.atlassian.jira.util.SimpleErrorCollection def projectManager = ComponentAccessor.getProjectManager() def projectRoleService = ComponentAccessor.getComponent(ProjectRoleService) def projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager) def errorCollection = new SimpleErrorCollection() def project = projectManager.getProjectObjByKey("PROJKEY") def projectRole = projectRoleManager.getProjectRole("Service Desk Customers") def actors = ['actor1Key', 'actor2Key'] projectRoleService.addActorsToProjectRole(actors, projectRole, project, ProjectRoleActor.USER_ROLE_ACTOR_TYPE, errorCollection)
The code is not tested, but I think it can give you a hint.
Regards
Thanos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.