Adaptavist Copy Space Permissions

Created by Lee Wonnacott
 * This script provides an example of how you can copy the individual user space permissions from one space to another 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.labels.SpaceLabelManager
import com.atlassian.confluence.spaces.SpaceManager
import com.atlassian.sal.api.component.ComponentLocator

def spacePermissionManager = ComponentLocator.getComponent(SpacePermissionManager)
def spaceManager = ComponentLocator.getComponent(SpaceManager)
def spaceLabelManager = ComponentLocator.getComponent(SpaceLabelManager)

SpacePermissionContext spaceContext = SpacePermissionContext.createDefault()

def spacePermissions = []
def sourceSpace = spaceManager.getSpace("<space_key>")

def targetSpace = spaceManager.getSpace("<space_key>")

def permissionsToCopy = []

spacePermissions = sourceSpace.getPermissions()

spacePermissions.each{ permission ->
    if (permission.getUserSubject()){

def spacePermissionToSave 
permissionsToCopy.each{ permission ->
	spacePermissionToSave = SpacePermission.createUserSpacePermission(permission.getType(), targetSpace,permission.getUserSubject())

Comments (0)


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