Example scripts
To homepage
Confluence

Copy Individual Users Space Permissions from one Space to Another
App in script

ScriptRunner For Confluence
by Adaptavist
Compatibility

Confluence (7.15 - 8.6)

ScriptRunner For Confluence (7.10.0)
Language |
groovy
import com.atlassian.confluence.internal.security.SpacePermissionManagerInternal
import com.atlassian.confluence.spaces.Space
import com.atlassian.confluence.security.SpacePermissionManager
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.confluence.internal.security.SpacePermissionContext
import com.onresolve.scriptrunner.parameters.annotation.SpacePicker
import com.atlassian.confluence.security.SpacePermission
@SpacePicker(label = 'Source Space', description = 'Select the source space to copy Individual Users permissions from')
Space sourceSpace
assert sourceSpace
@SpacePicker(label = 'Target Space', description = 'Select the target space to copy Individual Users permissions to')
Space targetSpace
assert targetSpace
def spacePermissionManager = ComponentLocator.getComponent(SpacePermissionManager) as SpacePermissionManagerInternal
def spaceContext = SpacePermissionContext.createDefault()
def permissionsToCopy = [] as List<SpacePermission>
sourceSpace.permissions.each { permission ->
if (permission.userSubject) {
permissionsToCopy.add(permission)
}
}
permissionsToCopy.each { permission ->
def spacePermissionToSave = SpacePermission.createUserSpacePermission(permission.type, targetSpace, permission.userSubject)
spacePermissionManager.savePermission(spacePermissionToSave, spaceContext)
}
Having an issue with this script?
Report it here