Hello!
Looking for a little help. I am creating a scriptrunner script to duplicate a group. I was able to create a new group and duplicate the users to it with the script below...
import com.atlassian.confluence.security.login.LoginManager
import com.atlassian.confluence.user.UserAccessor
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.user.GroupManager
/* This script takes users from the group with oldGroupName and adds them to the group with newGroupName. If newGroupName doesn't exist
it is created.*/
def groupManager = ComponentLocator.getComponent(GroupManager)
def loginManager = ComponentLocator.getComponent(LoginManager)
def userAccessor = ComponentLocator.getComponent(UserAccessor)
// define the old group and new group USERS SHOULD MODIFY THESE VALUES!
def newGroupName = "group1"
def oldGroupName = "group2"
// Get the new group if it already exists. If it does not exist, create it.
def newGroup = groupManager.getGroup(newGroupName) ?: groupManager.createGroup(newGroupName)
// Get the group you will be copying the users from.
def oldGroup = groupManager.getGroup(oldGroupName)
def users = groupManager.getMemberNames(oldGroup)
users.each { userName ->
def user = userAccessor.getUserByName(userName)
if (user) {
log.info "Add user ${user.name} to the group: $newGroupName"
groupManager.addMembership(newGroup, user)
}
}
I am now trying to figure out how to duplicate the group's permissions. Found the following method that gets a list of all the permissions for a group.
https://docs.atlassian.com/atlassian-confluence/6.2.1/com/atlassian/confluence/security/SpacePermissionManager.html#getAllPermissionsForGroup-java.lang.String-
But I cannot for the life of me find out how to set these permissions for the new group. Does anyone have any suggestions?
Thanks!