We are upgrading a confluence instance, and we would like to send all space administrators a mail asking them to validate the result on the staging server.
I'm wondering if there is somewhere a simple macro / plugin which provides this functionality.
I found a way to get all space administrators for all spaces. Added it as a KB article here: https://confluence.atlassian.com/display/CONFKB/How+Do+I+View+a+List+of+All+Space+Administrators+for+All+Spaces
Modified the source from the link given by Diallo earlier. What I do notice though, is that the permissionHelper seems to be affected by this bug: https://jira.atlassian.com/browse/CONF-18104
Which means that the permission checks via Velocity might not be accurate (I noticed that it seems to only fetch users that are members of confluence-administrators, regardless of individual permissions set in the space's permissions).
Anyway, do give it a try!
Regarding the performance issues of the atlassian KB provided macro. I re-wrote it to drastically improve the performance of the macro by only iterating through the spaces and only getting the distinct administrators from each space. Below is my new macro code which i thought i should share so that others can benefit from this:
## Macro title: Space Administrators
## Macro has a body: N
## Body processing: Selected body processing option
## Output: Selected output option
## Developed by: Andrew Frayling
## Modified by: Adam Barylak
## Date created: 21/03/2012
## Date modified: 7/23/2017
## Installed by: <your name>
## Macro to display a list of space administrators
#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($spaces = $spaceManager.getAllSpaces())
<table class="aui aui-table-interactive">
<th class="confluenceTh">Space</th><th class="confluenceTh">Administrator(s)</th>
#foreach($spacer in $spaces)
<td class="confluenceTd"><a href="$req.contextPath/display/$spacer.key">$spacer.name</a></td><td class="confluenceTd"><ul>
#set($administrators = $spaceManager.getSpaceAdmins($spacer))
#foreach($admin in $administrators)
Hi my Community friends! For those who don't know me, I'm a product marketer on the Confluence Cloud team - nice to meet you! For those of you who do, you know that I've been all up in your Co...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs