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

User macro update from version 7.4 to 7.19

Morten Christophersen October 19, 2022

Hi All, 

 

Hope you can help. We have a macro to show the profile pictures based on user groups. We use to run this code:

## @Param Group:title=Only use users in a specific group|desc=Choose a user group to list members of. Normally you wouldn't touch this.|default=confluence-users

## Get access to user data
#set($containerManagerClass = $content.class.forName('com.atlassian.spring.container.ContainerManager'))
#set($getInstanceMethod = $containerManagerClass.getDeclaredMethod('getInstance',null))
#set($containerManager = $getInstanceMethod.invoke(null,null))
#set($containerContext = $containerManager.containerContext)
#set($userDetailsManager = $containerContext.getComponent('userDetailsManager'))

## Get members of a certain group
#set($groupManager = $containerManager.containerContext.getComponent("GroupResolver"))
#set($group = $groupManager.getGroup($paramGroup))
#set($users = $UserAccessor.getMemberNames($paramGroup))

 

But the getGroup is depreciated. I cannot find out how to get the users of a group based on the group name(string)

Can you help?

 

2 answers

1 vote
Morten Christophersen October 20, 2022

Eventually I got it fixed myself by updating the 2 last lines:
#set($group = $userAccessor.getGroupsByGroupNames([$paramGroup]))
#set($users = $userAccessor.getMemberNames($group.get(0)))

0 votes
Gabriele Comoretto July 6, 2023

Hi, I am in the same situation, but I am not able to make it work, here my code:

 

#set($containerManagerClass = $action.class.forName('com.atlassian.spring.container.ContainerManager'))
#set($getInstanceMethod = $containerManagerClass.getDeclaredMethod('getInstance',null))
#set($containerManager = $getInstanceMethod.invoke(null,null))
#set($containerContext = $containerManager.containerContext)

#set($userAccessor = $containerContext.getComponent('userAccessor'))

##INPUT: $paramgroups
#set($groupnames = $paramgroups.split(","))
#foreach($groupname in $groupnames)
<h2> Users in group $groupname </h2>
<ul>
#foreach($grp in $userAccessor.getGroupsByGroupNames([$groupname]))
#foreach($usr in $userAccessor.getMemberNames($grp))
<li>$usr</li>
#end
#end
</ul>
#end
Any ideas?

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events