Here’s some code that explores one of the basic tenets of programmatically managing Confluence: retrieving a
list of administrators for a given Space.
On it’s own this code doesn’t do much, but it is foundational to many more complicated solutions that you may be asked to code.
import com.atlassian.confluence.security.SpacePermissionManager
import com.atlassian.confluence.spaces.SpaceManager
import com.atlassian.sal.api.component.ComponentLocator
//Import the libraries
def spacePermissionManager = ComponentLocator.getComponent(SpacePermissionManager)
def spaceManager = ComponentLocator.getComponent(SpaceManager)
//Invoke the Space Manager by telling the Component Locator to retrieve it for us
def sourceSpace = spaceManager.getSpace("<Space Key>")
//Tell the Space Manager which space we're querying
def admins = []
//Define the list of admins as an array
spaceManager.getSpaceAdmins(sourceSpace).each{ permission ->
admins.add(permission.name)
//For each administrator that the Space Manager returns from the target space, add that name to the array
//Do something else with the names
}
return admins
//Print the list of administrators.
As you can see, the bulk of the code is just structural, and is similar to other scripts you may have created. The key is using the Space Manager to fetch the details about the target Space, and then parsing those details for the information you need.
Leave a Reply