Example scripts
To homepage
Confluence

Restrict Page by User Group
App in script

ScriptRunner For Confluence
by Adaptavist
Compatibility

Confluence
Language |
groovy
def id = page.id
def accountId = page.creatorAccountId
def operations = ['read', 'update']
def groupName = 'confluence-users'
def getGroupIds = get("/wiki/rest/api/group")
.asObject(Map)
.body
.results
def groupNameId = getGroupIds.find { group -> group.name == groupName }?.id
def getMemberships = get("/wiki/rest/api/user/memberof?accountId=${accountId}")
.asObject(Map)
.body
.results
.name
getMemberships.each { group ->
if ( group == groupName ) {
operations.each { operation ->
put("/wiki/rest/api/content/${id}/restriction/byOperation/${operation}/user?accountId=${accountId}")
.asObject(Map)
.body
logger.info "'${accountId}' is added inside '$operation' operation inside '$page.title'"
put("/wiki/rest/api/content/${id}/restriction/byOperation/${operation}/byGroupId/${groupNameId}")
.queryString("expand", "restrictions.user,restrictions.group")
.asObject(Map)
.body
logger.info "'${groupName}' is added inside '$operation' operation inside '$page.title'"
}
}
}
Having an issue with this script?
Report it here