Hi Guys,
Need your help in getting list of users added in a Project Roles using Script Runner. I want list of users added in a particular project.
Here is code i define names = projects name for which i need users list.
But not sure where to insert names to get list of users of these two projects only. Kindly suggest.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.project.Project
import com.atlassian.jira.project.ProjectManager
import com.atlassian.jira.security.roles.ProjectRole
import com.atlassian.jira.security.roles.ProjectRoleActors
import com.atlassian.jira.security.roles.ProjectRoleManager
def projectManager = ComponentAccessor.getProjectManager()
def projectRoleManager = ComponentAccessor.getComponent (ProjectRoleManager)
def sb = new StringBuffer()
//array of project names
//def names = ["AgeingWorks", "Self Service Portal"]
ProjectRole devsRole = projectRoleManager.getProjectRole("Developers")
def result = ""
projectManager.getProjectObjects().each {Project project ->
ProjectRoleActors actors = projectRoleManager.getProjectRoleActors(devsRole, project)
result += "$project.key, $project.name, $project.lead, ${actors.getUsers()*.name}\n"
}
return result
Thanks in Advance!
Hi @Vikrant Yadav ,
I would do something like:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.project.Project
import com.atlassian.jira.project.ProjectManager
import com.atlassian.jira.security.roles.ProjectRole
import com.atlassian.jira.security.roles.ProjectRoleActors
import com.atlassian.jira.security.roles.ProjectRoleManager
final String projectRoleName = 'Developers'
final List<String> projectKeys = ['ABC', 'CDE']
ProjectManager projectManager = ComponentAccessor.getProjectManager()
ProjectRoleManager projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager)
ProjectRole projectRole = projectRoleManager.getProjectRole(projectRoleName)
String result
projectKeys.each{ String projectKey ->
Project project = projectManager.getProjectObjByKey(projectKey)
if (project) {
ProjectRoleActors actors = projectRoleManager.getProjectRoleActors(projectRole, project)
result += "$project.key, $project.name, $project.leadUserKey, ${actors.getUsers()*.name}\n"
}
}
return result
ABC and CDE needs to be replaced by your projects' keys (not names!)
I changed the way the script works - if you don't need other projects, why iterate through them :-).
@Hana Kučerová Awesome, it works for me :) . Eager to learn more from you.
What is "ProjectRoleActors" ?
What does it means { String projectKey -> ?
projectManager is used to call Project roles ?
Thanks a lot, Mate!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.