Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,554,439
Community Members
 
Community Events
184
Community Groups

Show the list of all the users who have project-admin role on project home page.

I want to show the list of all the users/group who have project-admin role on project home page, seemlier the way we have the project lead displayed. I would like to use Script Runner for this. Could you please help me with the groovy code.

1 answer

0 votes
Thanos Batagiannis [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
Dec 06, 2017

Hi Manu, 

You can use Script Fragments to create a web panel with the following configuration 

Screen Shot 2017-12-06 at 16.17.56.png

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.config.properties.APKeys
import com.atlassian.jira.project.Project
import com.atlassian.jira.security.PermissionManager
import com.atlassian.jira.security.Permissions
import com.atlassian.jira.security.groups.GroupManager

def project = context.project as Project
def groupManager = ComponentAccessor.getComponent(GroupManager)

def usersInGroupsWithPermissions = ComponentAccessor.getComponent(PermissionManager).
getAllGroups(Permissions.PROJECT_ADMIN, project)?.
collect { groupManager.getUsersInGroup(it)*.key }?.
flatten()?.
unique()?.
collect {userProfileLink(it)}?.
join("<br>")

writer.write "Users with Admin permissions for project $project.key <br> $usersInGroupsWithPermissions"

def userProfileLink (String userKey) {
def baseUrl = ComponentAccessor.getApplicationProperties().getString(APKeys.JIRA_BASEURL)
def displayName = ComponentAccessor.userManager.getUserByKey(userKey).displayName
"""
<a href="$baseUrl/secure/ViewProfile.jspa?name=$userKey">$displayName</a>
"""
}

The only issue is that this panel will show you only users in groups with project permissions and not users in project roles with project permissions. 

Please let me know if this helps,

Thanos

Thanks Thanos, let me try this. however, most of the time individual users are assigned the project role permission under 'Users'. But let me use this.

Thanos, 
I am getting the below error while running:

com.atlassian.plugin.PluginParseException: Required resource with name 'view' does not exist.

at com.atlassian.plugin.web.descriptors.WebPanelSupplierFactory.

getRequiredViewResource(WebPanelSupplierFactory.java:107)

at com.atlassian.plugin.web.descriptors.WebPanelSupplierFactory.

build(WebPanelSupplierFactory.java:56)

at com.atlassian.plugin.web.descriptors.DefaultWebPanelModule

Descriptor.init(DefaultWebPanelModuleDescriptor.java:130)

at com.atlassian.plugin.ModuleDescriptor$init$2.call(Unknown Source)

at com.atlassian.plugin.ModuleDescriptor$init$2.call(Unknown Source)

at com.onresolve.scriptrunner.fragments.FragmentsManager.

register(FragmentsManager.groovy:258)

at com.onresolve.scriptrunner.fragments.FragmentsManager.

register(FragmentsManager.groovy)

at com.onresolve.scriptrunner.fragments.IFragmentsManager

$register.call(Unknown Source)

at com.onresolve.scriptrunner.fragments.AbstractCustomWebPanel.

doScript(AbstractCustomWebPanel.groovy:148)

at com.onresolve.scriptrunner.canned.CannedScript$doScript.call

(Unknown Source)

at com.onresolve.scriptrunner.canned.CannedScript$doScript.call

(Unknown Source)

at com.onresolve.scriptrunner.runner.ScriptRunnerImpl.validate

AndRunCannedInternal(ScriptRunnerImpl.groovy:430)

at com.onresolve.scriptrunner.runner.ScriptRunnerImpl.runCanned

(ScriptRunnerImpl.groovy:376)

I am using version (4.1.3.24) of SR

Thanos, 

I would like to return all the user names under the project role >> groups with project admin permission as a comma delimited string.

@Thanos Batagiannis [Adaptavist] Can you please update. as it's giving me an error.

@Thanos Batagiannis [Adaptavist] Can you please update. If i am using the method "getAllGroups" than should i use the (Permission ID[int]). If yes, than in my initial query, i want to show the list of users/groups under role project Admin(10050). Can you please modify an above query.

Hi @Thanos Batagiannis [Adaptavist] 

 

Can you send us sample screenshot of the output for this web panel?

 

Thanks

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events