Is there a script or a way (UI, app, etc) to get a unique list of Service Desk Agents? Ideally, by project? As part of moving from Server to Data Center I'm routinely just auditing all Service Desks via the Workload Report.
Having been on legacy licenses we've enjoyed having wider access for more than people who need it, but the unfortunate side effect is it's hard to really get a grasp of how many unique agents we have because of project overlap and the Service Desks that are not yet refactored.
A more specific example, if I have 3 projects with 4500 agents that have yet to be refactored, is there a way without database queries (as I don't usually have access to such a thing) to exclude those 3 projects and get a number of unique agents in the balance of my instance?
Until I finish refactoring all projects, the only count available to me is the 4500 that is listed on the Application screen, right?
Thank you Adaptavist via Twitter. This gives you users of each desk. It's a start and can adjust things from here.
/** * Get all the Applications users that have Service Desk Agent permissions for the * all the service desk projects. Run the following script via your Script Console */ import com.atlassian.jira.permission.PermissionContextImpl import com.atlassian.jira.permission.PermissionSchemeManager import com.atlassian.jira.project.Project import com.atlassian.jira.project.type.ProjectTypeKey import com.atlassian.jira.security.plugin.ProjectPermissionKey import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.user.ApplicationUser import groovy.xml.MarkupBuilder StringWriter writer = new StringWriter() def builder = new MarkupBuilder(writer) builder.div { p("Results") ul { ComponentAccessor.projectManager.getProjects().findAll { project -> project.projectTypeKey == new ProjectTypeKey("service_desk")}?.each { li("$it.name : ${getUsersWithPermissionForProject( new ProjectPermissionKey("SERVICEDESK_AGENT"), it)?.collect {it.displayName}?.join(", ")}") } } } writer.toString() static Collection <ApplicationUser> getUsersWithPermissionForProject(ProjectPermissionKey permissionKey, Project project) { def permissionSchemeManager = ComponentAccessor.getComponent(PermissionSchemeManager) permissionSchemeManager.getUsers(permissionKey, new PermissionContextImpl(null, project, null)) }
My only way to do this so far is to go to each of our (55+) service desks, copy all the users from the worklog report, paste them into an xls and then de-dupe them.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.