This resource represents permissions. Use it to obtain details of all permissions and determine whether the user has certain permissions.

Hierarchy

  • CommonHttpService
    • PermissionsService

Constructors

  • Internal

    Create a new instance of the service.

    Parameters

    • getClientInstance: (() => CommonHttpClient)
        • (): CommonHttpClient
        • Returns CommonHttpClient

    Returns PermissionsService

Methods

  • Returns all permissions, including:

    • global permissions.
    • project permissions.
    • global permissions added by plugins.

    This operation can be accessed anonymously.

    Permissions required: None.

    Returns Promise<Permissions>

    Returned if the request is successful.

    example:

    {
    "permissions": {
    "BULK_CHANGE": {
    "description": "Ability to modify a collection of issues at once. For example, resolve multiple issues in one step.",
    "key": "BULK_CHANGE",
    "name": "Bulk Change",
    "type": "GLOBAL"
    }
    }
    }

    GET /rest/api/3/permissions @scopes-current manage:jira-configuration @scopes-beta read:permission:jira

  • Returns:

    • for a list of global permissions, the global permissions granted to a user.
    • for a list of project permissions and lists of projects and issues, for each project permission a list of the projects and issues a user can access or manipulate.

    If no account ID is provided, the operation returns details for the logged in user.

    Note that:

    • Invalid project and issue IDs are ignored.
    • A maximum of 1000 projects and 1000 issues can be checked.
    • Null values in globalPermissions, projectPermissions, projectPermissions.projects, and projectPermissions.issues are ignored.
    • Empty strings in projectPermissions.permissions are ignored.

    Deprecation notice: The required OAuth 2.0 scopes will be updated on June 15, 2024.

    • Classic: read:jira-work
    • Granular: read:permission:jira

    This operation can be accessed anonymously.

    Permissions required: Administer Jira global permission to check the permissions for other users, otherwise none. However, Connect apps can make a call from the app server to the product to obtain permission details for any user, without admin permission. This Connect app ability doesn't apply to calls made using AP.request() in a browser.

    Parameters

    • params: {
          bulkPermissionsRequestBean: BulkPermissionsRequestBean;
      }
      • bulkPermissionsRequestBean: BulkPermissionsRequestBean

        Details of the permissions to check.

        {
        "accountId": "5b10a2844c20165700ede21g",
        "globalPermissions": [
        "ADMINISTER"
        ],
        "projectPermissions": [
        {
        "issues": [
        10010,
        10011,
        10012,
        10013,
        10014
        ],
        "permissions": [
        "EDIT_ISSUES"
        ],
        "projects": [
        10001
        ]
        }
        ]
        }

    Returns Promise<BulkPermissionGrants>

    Returned if the request is successful.

    example:

    {
    "globalPermissions": [
    "ADMINISTER"
    ],
    "projectPermissions": [
    {
    "issues": [
    10010,
    10013,
    10014
    ],
    "permission": "EDIT_ISSUES",
    "projects": [
    10001
    ]
    }
    ]
    }

    POST /rest/api/3/permissions/check @scopes-current @scopes-beta read:permission:jira

  • Returns a list of permissions indicating which permissions the user has. Details of the user's permissions can be obtained in a global, project, issue or comment context.

    The user is reported as having a project permission:

    • in the global context, if the user has the project permission in any project.
    • for a project, where the project permission is determined using issue data, if the user meets the permission's criteria for any issue in the project. Otherwise, if the user has the project permission in the project.
    • for an issue, where a project permission is determined using issue data, if the user has the permission in the issue. Otherwise, if the user has the project permission in the project containing the issue.
    • for a comment, where the user has both the permission to browse the comment and the project permission for the comment's parent issue. Only the BROWSE_PROJECTS permission is supported. If a commentId is provided whose permissions does not equal BROWSE_PROJECTS, a 400 error will be returned.

    This means that users may be shown as having an issue permission (such as EDIT_ISSUES) in the global context or a project context but may not have the permission for any or all issues. For example, if Reporters have the EDIT_ISSUES permission a user would be shown as having this permission in the global context or the context of a project, because any user can be a reporter. However, if they are not the user who reported the issue queried they would not have EDIT_ISSUES permission for that issue.

    For Jira Service Management project permissions, this will be evaluated similarly to a user in the customer portal. For example, if the BROWSE_PROJECTS permission is granted to Service Project Customer - Portal Access, any users with access to the customer portal will have the BROWSE_PROJECTS permission.

    Global permissions are unaffected by context.

    This operation can be accessed anonymously.

    Permissions required: None.

    Parameters

    • params: {
          commentId?: string;
          issueId?: string;
          issueKey?: string;
          permissions?: string;
          projectConfigurationUuid?: string;
          projectId?: string;
          projectKey?: string;
          projectUuid?: string;
      } = {}
      • OptionalcommentId?: string

        The ID of the comment.

      • OptionalissueId?: string

        The ID of the issue.

      • OptionalissueKey?: string

        The key of the issue. Ignored if issueId is provided.

      • Optionalpermissions?: string

        A list of permission keys. (Required) This parameter accepts a comma-separated list. To get the list of available permissions, use Get all permissions.

      • OptionalprojectConfigurationUuid?: string
      • OptionalprojectId?: string

        The ID of project.

      • OptionalprojectKey?: string

        The key of project. Ignored if projectId is provided.

      • OptionalprojectUuid?: string

    Returns Promise<Permissions>

    Returned if the request is successful.

    example:

    {
    "permissions": {
    "EDIT_ISSUES": {
    "description": "Ability to edit issues.",
    "havePermission": true,
    "id": "12",
    "key": "EDIT_ISSUES",
    "name": "Edit Issues",
    "type": "PROJECT"
    }
    }
    }

    GET /rest/api/3/mypermissions @scopes-current read:jira-work @scopes-beta read:permission:jira

  • Method to initialize the class. Normally used to set up validation rules.

    Returns void