Details
-
Bug
-
Resolution: Won't Fix
-
Low
-
None
-
7.0.10
-
7
-
Severity 3 - Minor
-
Description
This bug applies to the com.atlassian.jira.security.PermissionManager
1. Create a project with key "TEST"
2. Update the Permission Scheme of that project so that the "Anyone" wildcard group has Work On Issue permissions (see attached image)
3. Execute the following code (using the ScriptRunner console or stick the code below in an add-on):
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.security.PermissionManager import com.atlassian.jira.project.ProjectManager import com.atlassian.jira.security.Permissions import com.atlassian.crowd.embedded.api.Group ProjectManager projectManager = ComponentAccessor.getProjectManager(); PermissionManager permissionManager = ComponentAccessor.getPermissionManager(); Collection<Group> availableGroups = permissionManager.getAllGroups(Permissions.WORK_ISSUE, projectManager.getProjectByCurrentKey("TEST"));
You'll get the following stack trace:
[INFO] [talledLocalContainer] java.lang.NullPointerException: name argument cannot be null [INFO] [talledLocalContainer] at org.apache.commons.lang3.Validate.notNull(Validate.java:222) [INFO] [talledLocalContainer] at com.atlassian.crowd.directory.AbstractInternalDirectory.findGroupByName(AbstractInternalDirectory.java:786) [INFO] [talledLocalContainer] at com.atlassian.crowd.directory.AbstractInternalDirectory.findGroupByName(AbstractInternalDirectory.java:64) [INFO] [talledLocalContainer] at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.findGroupByName(DirectoryManagerGeneric.java:484) [INFO] [talledLocalContainer] at com.atlassian.crowd.manager.application.ApplicationServiceGeneric.findGroupByName(ApplicationServiceGeneric.java:890) [INFO] [talledLocalContainer] at com.atlassian.crowd.embedded.core.CrowdServiceImpl.getGroup(CrowdServiceImpl.java:128) [INFO] [talledLocalContainer] at com.atlassian.crowd.embedded.core.DelegatingCrowdService.getGroup(DelegatingCrowdService.java:55) [INFO] [talledLocalContainer] at com.atlassian.crowd.embedded.core.FilteredCrowdServiceImpl.getGroup(FilteredCrowdServiceImpl.java:80) [INFO] [talledLocalContainer] at com.atlassian.jira.security.groups.DefaultGroupManager.getGroup(DefaultGroupManager.java:103) [INFO] [talledLocalContainer] at com.atlassian.jira.security.groups.RequestCachingGroupManager.getGroup(RequestCachingGroupManager.java:78) [INFO] [talledLocalContainer] at com.atlassian.jira.permission.DefaultPermissionSchemeManager.getGroups(DefaultPermissionSchemeManager.java:553) [INFO] [talledLocalContainer] at com.atlassian.jira.permission.DefaultPermissionSchemeManager.getGroups(DefaultPermissionSchemeManager.java:529) [INFO] [talledLocalContainer] at com.atlassian.jira.security.DefaultPermissionManager.getAllGroups(DefaultPermissionManager.java:307) [INFO] [talledLocalContainer] at com.atlassian.jira.security.ApplicationRequiredPermissionManager.getAllGroups(ApplicationRequiredPermissionManager.java:165) [INFO] [talledLocalContainer] at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:83) [INFO] [talledLocalContainer] at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:25) [INFO] [talledLocalContainer] at com.sun.proxy.$Proxy7.getAllGroups(Unknown Source) [INFO] [talledLocalContainer] at com.atlassian.jira.security.PermissionManager$getAllGroups$0.call(Unknown Source)