This resource represents permission schemes. Use it to get, create, update, and delete permission schemes as well as get, create, update, and delete details of the permissions granted in those schemes.

Hierarchy

  • CommonHttpService
    • PermissionSchemesService

Constructors

  • Internal

    Create a new instance of the service.

    Parameters

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

    Returns PermissionSchemesService

Methods

  • Creates a permission grant in a permission scheme.

    Permissions required: Administer Jira global permission.

    Parameters

    • params: {
          expand?: string;
          permissionGrant: PermissionGrant;
          schemeId: number;
      }
      • Optionalexpand?: string

        Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:

        • permissions Returns all permission grants for each permission scheme.
        • user Returns information about the user who is granted the permission.
        • group Returns information about the group that is granted the permission.
        • projectRole Returns information about the project role granted the permission.
        • field Returns information about the custom field granted the permission.
        • all Returns all expandable information.
      • permissionGrant: PermissionGrant

        The permission grant to create.

      • schemeId: number

        The ID of the permission scheme in which to create a new permission grant.

    Returns Promise<PermissionGrant>

    Returned if the scheme permission is created.

    example:

    {
    "holder": {
    "expand": "group",
    "parameter": "jira-core-users",
    "type": "group",
    "value": "ca85fac0-d974-40ca-a615-7af99c48d24f"
    },
    "id": 10000,
    "permission": "ADMINISTER_PROJECTS",
    "self": "https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000"
    }

    POST /rest/api/3/permissionscheme/{schemeId}/permission @scopes-current manage:jira-configuration @scopes-beta read:application-role:jira, read:field:jira, read:group:jira, read:permission:jira, read:project-role:jira, read:user:jira, write:permission:jira

  • Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission grants.

    Permissions required: Administer Jira global permission.

    Parameters

    • params: {
          expand?: string;
          permissionScheme: PermissionScheme;
      }
      • Optionalexpand?: string

        Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:

        • all Returns all expandable information.
        • field Returns information about the custom field granted the permission.
        • group Returns information about the group that is granted the permission.
        • permissions Returns all permission grants for each permission scheme.
        • projectRole Returns information about the project role granted the permission.
        • user Returns information about the user who is granted the permission.
      • permissionScheme: PermissionScheme

        The permission scheme to create.

    Returns Promise<PermissionScheme>

    Returned if the permission scheme is created.

    example:

    {
    "description": "description",
    "id": 10000,
    "name": "Example permission scheme",
    "permissions": [
    {
    "holder": {
    "expand": "group",
    "parameter": "jira-core-users",
    "type": "group",
    "value": "ca85fac0-d974-40ca-a615-7af99c48d24f"
    },
    "id": 10000,
    "permission": "ADMINISTER_PROJECTS",
    "self": "https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000"
    }
    ],
    "self": "https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000"
    }

    POST /rest/api/3/permissionscheme @scopes-current manage:jira-configuration @scopes-beta write:permission-scheme:jira, read:application-role:jira, read:field:jira, read:group:jira, read:permission-scheme:jira, read:permission:jira, read:project-role:jira, read:user:jira, read:avatar:jira, read:project-category:jira, read:project:jira

  • Returns all permission schemes.

    A permission scheme is a collection of permission grants. A permission grant consists of a holder and a permission.

    The holder object contains information about the user or group being granted the permission. For example, the Administer projects permission is granted to a group named Teams in space administrators. In this case, the type is "type": "group", and the parameter is the group name, "parameter": "Teams in space administrators" and the value is group ID, "value": "ca85fac0-d974-40ca-a615-7af99c48d24f".

    The holder object is defined by the following properties:

    • type Identifies the user or group (see the list of types below).
    • parameter As a group's name can change, use of value is recommended. The value of this property depends on the type. For example, if the type is a group, then you need to specify the group name.
    • value The value of this property depends on the type. If the type is a group, then you need to specify the group ID. For other type it has the same value as parameter

    The following types are available. The expected values for parameter and value are given in parentheses (some types may not have a parameter or value):

    • anyone Grant for anonymous users.
    • applicationRole Grant for users with access to the specified application (application name, application name). See Update product access settings for more information.
    • assignee Grant for the user currently assigned to an issue.
    • group Grant for the specified group (parameter : group name, value : group ID).
    • groupCustomField Grant for a user in the group selected in the specified custom field (parameter : custom field ID, value : custom field ID).
    • projectLead Grant for a project lead.
    • projectRole Grant for the specified project role (parameter :project role ID, value : project role ID).
    • reporter Grant for the user who reported the issue.
    • sd.customer.portal.only Jira Service Desk only. Grants customers permission to access the customer portal but not Jira. See Customizing Jira Service Desk permissions for more information.
    • user Grant for the specified user (parameter : user ID - historically this was the userkey but that is deprecated and the account ID should be used, value : user ID).
    • userCustomField Grant for a user selected in the specified custom field (parameter : custom field ID, value : custom field ID).

    The built-in Jira permissions are listed below. Apps can also define custom permissions. See the project permission and global permission module documentation for more information.

    Project permissions

    • ADMINISTER_PROJECTS
    • BROWSE_PROJECTS
    • MANAGE_SPRINTS_PERMISSION (Jira Software only)
    • SERVICEDESK_AGENT (Jira Service Desk only)
    • VIEW_DEV_TOOLS (Jira Software only)
    • VIEW_READONLY_WORKFLOW

    Issue permissions

    • ASSIGNABLE_USER
    • ASSIGN_ISSUES
    • CLOSE_ISSUES
    • CREATE_ISSUES
    • DELETE_ISSUES
    • EDIT_ISSUES
    • LINK_ISSUES
    • MODIFY_REPORTER
    • MOVE_ISSUES
    • RESOLVE_ISSUES
    • SCHEDULE_ISSUES
    • SET_ISSUE_SECURITY
    • TRANSITION_ISSUES

    Voters and watchers permissions

    • MANAGE_WATCHERS
    • VIEW_VOTERS_AND_WATCHERS

    Comments permissions

    • ADD_COMMENTS
    • DELETE_ALL_COMMENTS
    • DELETE_OWN_COMMENTS
    • EDIT_ALL_COMMENTS
    • EDIT_OWN_COMMENTS

    Attachments permissions

    • CREATE_ATTACHMENTS
    • DELETE_ALL_ATTACHMENTS
    • DELETE_OWN_ATTACHMENTS

    Time tracking permissions

    • DELETE_ALL_WORKLOGS
    • DELETE_OWN_WORKLOGS
    • EDIT_ALL_WORKLOGS
    • EDIT_OWN_WORKLOGS
    • WORK_ON_ISSUES

    Permissions required: Permission to access Jira.

    Parameters

    • params: {
          expand?: string;
      } = {}
      • Optionalexpand?: string

        Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:

        • all Returns all expandable information.
        • field Returns information about the custom field granted the permission.
        • group Returns information about the group that is granted the permission.
        • permissions Returns all permission grants for each permission scheme.
        • projectRole Returns information about the project role granted the permission.
        • user Returns information about the user who is granted the permission.

    Returns Promise<PermissionSchemes>

    Returned if the request is successful.

    example:

    {
    "permissionSchemes": [
    {
    "description": "description",
    "id": 10000,
    "name": "Example permission scheme",
    "self": "https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000"
    }
    ]
    }

    GET /rest/api/3/permissionscheme @scopes-current read:jira-work @scopes-beta read:application-role:jira, read:field:jira, read:group:jira, read:permission-scheme:jira, read:permission:jira, read:project-role:jira, read:user:jira, read:avatar:jira, read:project-category:jira, read:project:jira

  • Returns a permission scheme.

    Permissions required: Permission to access Jira.

    Parameters

    • params: {
          expand?: string;
          schemeId: number;
      }
      • Optionalexpand?: string

        Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:

        • all Returns all expandable information.
        • field Returns information about the custom field granted the permission.
        • group Returns information about the group that is granted the permission.
        • permissions Returns all permission grants for each permission scheme.
        • projectRole Returns information about the project role granted the permission.
        • user Returns information about the user who is granted the permission.
      • schemeId: number

        The ID of the permission scheme to return.

    Returns Promise<PermissionScheme>

    Returned if the request is successful.

    example:

    {
    "description": "description",
    "id": 10000,
    "name": "Example permission scheme",
    "permissions": [
    {
    "holder": {
    "expand": "group",
    "parameter": "jira-core-users",
    "type": "group",
    "value": "ca85fac0-d974-40ca-a615-7af99c48d24f"
    },
    "id": 10000,
    "permission": "ADMINISTER_PROJECTS",
    "self": "https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000"
    }
    ],
    "self": "https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000"
    }

    GET /rest/api/3/permissionscheme/{schemeId} @scopes-current read:jira-work @scopes-beta read:application-role:jira, read:field:jira, read:group:jira, read:permission-scheme:jira, read:permission:jira, read:project-role:jira, read:user:jira, read:avatar:jira, read:project-category:jira, read:project:jira

  • Returns a permission grant.

    Permissions required: Permission to access Jira.

    Parameters

    • params: {
          expand?: string;
          permissionId: number;
          schemeId: number;
      }
      • Optionalexpand?: string

        Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:

        • all Returns all expandable information.
        • field Returns information about the custom field granted the permission.
        • group Returns information about the group that is granted the permission.
        • permissions Returns all permission grants for each permission scheme.
        • projectRole Returns information about the project role granted the permission.
        • user Returns information about the user who is granted the permission.
      • permissionId: number

        The ID of the permission grant.

      • schemeId: number

        The ID of the permission scheme.

    Returns Promise<PermissionGrant>

    Returned if the request is successful.

    example:

    {
    "holder": {
    "expand": "group",
    "parameter": "jira-core-users",
    "type": "group",
    "value": "ca85fac0-d974-40ca-a615-7af99c48d24f"
    },
    "id": 10000,
    "permission": "ADMINISTER_PROJECTS",
    "self": "https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000"
    }

    GET /rest/api/3/permissionscheme/{schemeId}/permission/{permissionId} @scopes-current read:jira-work @scopes-beta read:application-role:jira, read:field:jira, read:group:jira, read:permission:jira, read:project-role:jira, read:user:jira

  • Returns all permission grants for a permission scheme.

    Permissions required: Permission to access Jira.

    Parameters

    • params: {
          expand?: string;
          schemeId: number;
      }
      • Optionalexpand?: string

        Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:

        • permissions Returns all permission grants for each permission scheme.
        • user Returns information about the user who is granted the permission.
        • group Returns information about the group that is granted the permission.
        • projectRole Returns information about the project role granted the permission.
        • field Returns information about the custom field granted the permission.
        • all Returns all expandable information.
      • schemeId: number

        The ID of the permission scheme.

    Returns Promise<PermissionGrants>

    Returned if the request is successful.

    example:

    {
    "expand": "user,group,projectRole,field,all",
    "permissions": [
    {
    "holder": {
    "expand": "group",
    "parameter": "jira-core-users",
    "type": "group",
    "value": "ca85fac0-d974-40ca-a615-7af99c48d24f"
    },
    "id": 10000,
    "permission": "ADMINISTER_PROJECTS",
    "self": "https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000"
    }
    ]
    }

    GET /rest/api/3/permissionscheme/{schemeId}/permission @scopes-current read:jira-work @scopes-beta read:application-role:jira, read:field:jira, read:group:jira, read:permission:jira, read:project-role:jira, read:user:jira

  • Updates a permission scheme. Below are some important things to note when using this resource:

    • If a permissions list is present in the request, then it is set in the permission scheme, overwriting all existing grants.
    • If you want to update only the name and description, then do not send a permissions list in the request.
    • Sending an empty list will remove all permission grants from the permission scheme.

    If you want to add or delete a permission grant instead of updating the whole list, see Create permission grant or Delete permission scheme entity.

    See About permission schemes and grants for more details.

    Permissions required: Administer Jira global permission.

    Parameters

    • params: {
          expand?: string;
          permissionScheme: PermissionScheme;
          schemeId: number;
      }
      • Optionalexpand?: string

        Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:

        • all Returns all expandable information.
        • field Returns information about the custom field granted the permission.
        • group Returns information about the group that is granted the permission.
        • permissions Returns all permission grants for each permission scheme.
        • projectRole Returns information about the project role granted the permission.
        • user Returns information about the user who is granted the permission.
      • permissionScheme: PermissionScheme
      • schemeId: number

        The ID of the permission scheme to update.

    Returns Promise<PermissionScheme>

    Returned if the scheme is updated.

    example:

    {
    "description": "description",
    "id": 10000,
    "name": "Example permission scheme",
    "permissions": [
    {
    "holder": {
    "expand": "group",
    "parameter": "jira-core-users",
    "type": "group",
    "value": "ca85fac0-d974-40ca-a615-7af99c48d24f"
    },
    "id": 10000,
    "permission": "ADMINISTER_PROJECTS",
    "self": "https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000"
    }
    ],
    "self": "https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000"
    }

    PUT /rest/api/3/permissionscheme/{schemeId} @scopes-current manage:jira-configuration @scopes-beta write:permission-scheme:jira, read:application-role:jira, read:field:jira, read:group:jira, read:permission-scheme:jira, read:permission:jira, read:project-role:jira, read:user:jira, read:avatar:jira, read:project-category:jira, read:project:jira

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

    Returns void