Skip to content

Instantly share code, notes, and snippets.

@jechlin
Created February 24, 2015 17:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jechlin/7a0c5e420c62ebb2b5e2 to your computer and use it in GitHub Desktop.
Save jechlin/7a0c5e420c62ebb2b5e2 to your computer and use it in GitHub Desktop.
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.ManagerFactory
import com.atlassian.jira.permission.PermissionSchemeManager
import com.atlassian.jira.scheme.SchemeEntity
import org.apache.log4j.Level
import org.apache.log4j.Logger
import org.ofbiz.core.entity.GenericValue
import static com.atlassian.jira.security.Permissions.VIEW_WORKFLOW_READONLY
Logger log = Logger.getLogger("OneOffAddViewWorkflowPermission");
log.setLevel(Level.DEBUG)
PermissionSchemeManager permissionSchemeManager = ComponentManager.getComponentInstanceOfType(PermissionSchemeManager.class)
permissionSchemeManager.getSchemes().each {GenericValue scheme ->
if (ManagerFactory.getPermissionSchemeManager().getEntities(scheme, VIEW_WORKFLOW_READONLY, "group", null).isEmpty()) {
log.debug("Modify scheme ${scheme.get('name')}".toString())
try {
SchemeEntity schemeEntity = new SchemeEntity("group", null, VIEW_WORKFLOW_READONLY);
permissionSchemeManager.createSchemeEntity(scheme, schemeEntity)
}
catch (Exception e) {
log.warn ("Error updating scheme: ${scheme.get('name')}".toString())
}
}
else {
log.debug("Scheme ${scheme.get('name')} already has an entry for this permission".toString())
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment