Snippets

Adaptavist ScriptRunner for Confluence Server: Remove space permissions for a specified group

Created by Lee Wonnacott
/*
 * This script provides an example of how you can remove the space permissions of a single group from every space within your Confluence instance
 
 * All right, title and interest in this code snippet shall remain the exclusive intellectual property of Adaptavist Group Ltd and its affiliates. Customers with a valid ScriptRunner 
 * license shall be granted a  non-exclusive, non-transferable, freely revocable right to use this code snippet only within their own instance of Atlassian products. This licensing notice cannot be removed
 * or amended and must be included in any circumstances where the code snippet is shared by You or a third party." 
*/

import com.atlassian.confluence.security.SpacePermissionManager
import com.atlassian.confluence.spaces.SpaceManager
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.confluence.internal.security.SpacePermissionContext


def spacePermissionManager = ComponentLocator.getComponent(SpacePermissionManager)
def spaceManager = ComponentLocator.getComponent(SpaceManager)
SpacePermissionContext spaceContext = SpacePermissionContext.createDefault()

def spacePermissions = []
def spaces = spaceManager.getAllSpaces()
def permissionsToRemove = []

spaces.each{ space ->
    spacePermissions = space.getPermissions()
    spacePermissions.each{ permission ->
         if (permission.getGroup() == "confluence-users"){
              permissionsToRemove.add(permission)
         } 
    }
}

permissionsToRemove.each{ permission ->
     spacePermissionManager.removePermission(permission, spaceContext)
}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.