Skip to main content
Example scripts
arrow icon
To homepage
Confluence
Data centre icon
Data Center

Remove Space Permissions for a User

Created 1 year ago, Updated 1 month(s) ago
App in script
ScriptRunner For Confluence
ScriptRunner For Confluence
by Adaptavist
Compatibility
compatibility bullet
Confluence (7.15 - 8.6)
compatibility bullet
ScriptRunner For Confluence (7.10.0)
Language |
groovy
import com.atlassian.user.User
import com.atlassian.confluence.spaces.Space
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.confluence.security.SpacePermission
import com.atlassian.confluence.security.SpacePermissionManager
import com.onresolve.scriptrunner.parameters.annotation.UserPicker
import com.onresolve.scriptrunner.parameters.annotation.SpacePicker
import com.atlassian.confluence.internal.security.SpacePermissionManagerInternal
import com.atlassian.confluence.internal.security.SpacePermissionContext

@SpacePicker(label = 'Space', description = 'Select the space to remove user permission from')
Space space
assert space

@UserPicker(label = 'User', description = 'Select the user to remove permission from space selected')
User user
assert user

def spacePermissionManager = ComponentLocator.getComponent(SpacePermissionManager) as SpacePermissionManagerInternal
def spaceContext = SpacePermissionContext.createDefault()

def permissionsToRemove = [] as List<SpacePermission>

space.permissions.each { permission ->
    if (permission.userSubject == user) {
        permissionsToRemove.add(permission)
    }
}

permissionsToRemove.each { permission ->
    spacePermissionManager.removePermission(permission, spaceContext)
    log.warn "${permission.type} permission for ${user.name} in space ${space.name} has been revoked."
}
Having an issue with this script?
Report it here