public class

PermissionsResource

extends Object
java.lang.Object
   ↳ com.atlassian.jira.rest.v2.permission.PermissionsResource

Class Overview

Provide permission information for the current user.

Summary

Public Constructors
PermissionsResource(PermissionManager permissionManager, JiraAuthenticationContext jiraAuthenticationContext, GlobalPermissionManager globalPermissionManager, ProjectManager projectManager, IssueManager issueManager, ResponseFactory responseFactory)
Public Methods
Response getAllPermissions()
Returns all permissions that are present in the JIRA instance - Global, Project and the global ones added by plugins
Response getPermissions(String projectKey, String projectId, String issueKey, String issueId)
Returns all permissions in the system and whether the currently logged in user has them.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public PermissionsResource (PermissionManager permissionManager, JiraAuthenticationContext jiraAuthenticationContext, GlobalPermissionManager globalPermissionManager, ProjectManager projectManager, IssueManager issueManager, ResponseFactory responseFactory)

Public Methods

public Response getAllPermissions ()

Returns all permissions that are present in the JIRA instance - Global, Project and the global ones added by plugins

Returns
  • all permissions

public Response getPermissions (String projectKey, String projectId, String issueKey, String issueId)

Returns all permissions in the system and whether the currently logged in user has them. You can optionally provide a specific context to get permissions for (projectKey OR projectId OR issueKey OR issueId)

  • When no context supplied the project related permissions will return true if the user has that permission in ANY project
  • If a project context is provided, project related permissions will return true if the user has the permissions in the specified project. For permissions that are determined using issue data (e.g Current Assignee), true will be returned if the user meets the permission criteria in ANY issue in that project
  • If an issue context is provided, it will return whether or not the user has each permission in that specific issue

NB: The above means that for issue-level permissions (EDIT_ISSUE for example), hasPermission may be true when no context is provided, or when a project context is provided, but may be false for any given (or all) issues. This would occur (for example) if Reporters were given the EDIT_ISSUE permission. This is because any user could be a reporter, except in the context of a concrete issue, where the reporter is known.

Global permissions will still be returned for all scopes.

Prior to version 6.4 this service returned project permissions with keys corresponding to com.atlassian.jira.security.Permissions.Permission constants. Since 6.4 those keys are considered deprecated and this service returns system project permission keys corresponding to constants defined in com.atlassian.jira.permission.ProjectPermissions. Permissions with legacy keys are still also returned for backwards compatibility, they are marked with an attribute deprecatedKey=true. The attribute is missing for project permissions with the current keys.

Parameters
projectKey - key of project to scope returned permissions for.
projectId - id of project to scope returned permissions for.
issueKey - key of the issue to scope returned permissions for.
issueId - id of the issue to scope returned permissions for.
Returns
  • all permissions and whether the currently logged in user has them.