I want to show the list of all Project Admin "Users" on project summary page. As i have created REST Endpoints and below is my code.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.roles.ProjectRoleManager
import com.atlassian.jira.user.ApplicationUsers
import com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegate
import groovy.transform.BaseScript
import com.atlassian.jira.bc.projectroles.DefaultProjectRoleService
import javax.ws.rs.core.MediaType
import javax.ws.rs.core.MultivaluedMap
import javax.ws.rs.core.Response
import com.atlassian.jira.issue.Issue
import org.apache.log4j.Logger
@BaseScript CustomEndpointDelegate delegat
ProjectAdmins() { MultivaluedMap queryParams ->
// get a reference to the current page...
// def page = getPage(queryParams)
def projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager)
long projectRoleId = 10050 // ID of Automatic Watcher project role
def role = projectRoleManager.getProjectRole(projectRoleId)
def actors = projectRoleManager.getProjectRoleActors(role, Issue.getProjectObject())
def usersInRole = actors.getApplicationUsers();
def projectPermissionList = new StringBuffer()
projectPermissionList.append("Test value; ")
//for (g in usersInRole) {
//projectPermissionList.append(g.getName()+"; ")
//groupList.append("<br>")
//}
def dlgHeader = """<div>
<b><u>The Puspose of this Diaglog is print the Project Admins</u></b>
</div>"""
def dialog =
"""<section role="dialog" id="sr-dialog" class="aui-layer aui-dialog2 aui-dialog2-medium" aria-hidden="true" data-aui-remove-on-hide="true">
<header class="aui-dialog2-header">
<h2 class="aui-dialog2-header-main"><b>Project Admin List</b></h2>
<a class="aui-dialog2-header-close">
<span class="aui-icon aui-icon-small aui-iconfont-close-dialog"><b>Close</b></span>
</a>
</header>
<div class="aui-dialog2-content">
""" + dlgHeader + """
""" + projectPermissionList + """
</div>
</section>
"""
Response.ok().type(MediaType.TEXT_HTML).entity(dialog.toString()).build()
}
The Above script is not working though there is no compilation error. But the script above is not returning the desired outputs. As far as my understanding says there is an error in the line
def actors = projectRoleManager.getProjectRoleActors(role, Issue.getProjectObject())
Please help me debugging the script. If possible can you modify the script.