Hey all -
I've got a couple groups and one role I've created that I want to add to all of the permissions schemes in my instance. Does anyone have a script for scriptrunner to do this?
Thanks!
This worked for me a few months ago with Jira Software Data Center 8.13
import com.atlassian.jira.component.ComponentAccessorimport com.atlassian.jira.permission.ProjectPermissionsimport com.atlassian.jira.security.plugin.ProjectPermissionKeyimport com.atlassian.jira.scheme.SchemeEntityimport org.ofbiz.core.entity.GenericValue;
def permissionSchemeManager = ComponentAccessor.permissionSchemeManagerdef projectManager = ComponentAccessor.projectManager
// Add jira-auditors group to Browse Projects permission in all permission schemes// Add the given permission to one permission scheme for one groupdef add_perms(permissionSchemeManager, scheme, perm, group_name) {try {def dryrun = true;if (dryrun) {log.warn("(DRYRUN) Adding the " + perm + " permission for the group: " + group_name + "\n");} else {log.warn("Adding the " + perm + " permission for the group: " + group_name + "\n");SchemeEntity schemeEntity = new SchemeEntity("group", group_name, perm);GenericValue schemeAsGenericValue = permissionSchemeManager.getScheme(scheme.id);permissionSchemeManager.createSchemeEntity(schemeAsGenericValue, schemeEntity);}} catch (Exception e) {log.error("Error updating scheme: " + scheme.name +" and permission " + perm + " " + e + "\n");}}
def schemes = permissionSchemeManager.getSchemeObjects()for (scheme in schemes) {permission_name = ProjectPermissions.BROWSE_PROJECTSentries = permissionSchemeManager.getPermissionSchemeEntries(scheme, permission_name)if (entries != null && entries.size() > 0) {found = falsefor(entry in entries) {if (entry.type == "group" && entry.parameter == "jira-auditors") {found = true}}if (!found) {//log.warn(scheme.name + " has administer for: " + entry.type + ":" + entry.parameter)log.warn("Scheme without jira-auditors for " + permission_name + " : " + scheme.name)add_perms(permissionSchemeManager, scheme, permission_name, "jira-auditors")}} else {log.error("No entries found for Browse Project in " + scheme.name)}}
Ugg, bad formatter. No guarantees, not fit for purpose etc
Thanks @Matt Doar - script came in very handy today!
CCM
It looks like you're new here. Sign in or register to get started.