Example scripts
To homepage
Confluence

Restrict Page by User Group
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.event.events.content.page.PageCreateEvent
import com.atlassian.confluence.pages.Page
import com.atlassian.confluence.security.ContentPermission
import com.atlassian.confluence.user.AuthenticatedUserThreadLocal
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.confluence.core.ContentPermissionManager
import com.atlassian.user.GroupManager
import static com.atlassian.confluence.security.ContentPermission.EDIT_PERMISSION
import static com.atlassian.confluence.security.ContentPermission.VIEW_PERMISSION
import static com.atlassian.confluence.security.ContentPermission.createGroupPermission
void addEditPermission( Page page, String group ) {
addPermission(page, group, EDIT_PERMISSION)
}
void addViewPermission( Page page, String group ) {
addPermission(page, group, VIEW_PERMISSION)
}
void addPermission( Page page, String group, String permissionType ) {
def contentPermissionManager = ComponentLocator.getComponent(ContentPermissionManager)
Collection<ContentPermission> permissions = []
permissions.add(createGroupPermission(permissionType, group))
contentPermissionManager.setContentPermissions(permissions, page, permissionType)
}
def createEvent = event as PageCreateEvent
def currentUser = AuthenticatedUserThreadLocal.get()
def groupManager = ComponentLocator.getComponent(GroupManager)
def groups = groupManager.getGroups(currentUser)
def page = createEvent.page
def groupName = 'confluence-staffs'
groups.each { group ->
if ( group.toString() == groupName ) {
addEditPermission(page, group.toString())
addViewPermission(page, group.toString())
}
}
Having an issue with this script?
Report it here