This resource represents options for sharing filters. Use it to get share scopes as well as add and remove share scopes from filters.

Hierarchy

  • CommonHttpService
    • FilterSharingService

Constructors

  • Internal

    Create a new instance of the service.

    Parameters

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

    Returns FilterSharingService

Methods

  • Add a share permissions to a filter. If you add a global share permission (one for all logged-in users or the public) it will overwrite all share permissions for the filter.

    Be aware that this operation uses different objects for updating share permissions compared to Update filter.

    Permissions required: Share dashboards and filters global permission and the user must own the filter.

    Parameters

    Returns Promise<SharePermission[]>

    Returned if the request is successful.

    example:

    [
    {
    "id": 10000,
    "type": "global"
    },
    {
    "id": 10010,
    "project": {
    "avatarUrls": {
    "16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000",
    "24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000",
    "32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000",
    "48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000"
    },
    "id": "10000",
    "insight": {
    "lastIssueUpdateTime": "2021-04-22T05:37:05.000+0000",
    "totalIssueCount": 100
    },
    "key": "EX",
    "name": "Example",
    "projectCategory": {
    "description": "First Project Category",
    "id": "10000",
    "name": "FIRST",
    "self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000"
    },
    "self": "https://your-domain.atlassian.net/rest/api/3/project/EX",
    "simplified": false,
    "style": "classic"
    },
    "type": "project"
    },
    {
    "id": 10010,
    "project": {
    "avatarUrls": {
    "16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002",
    "24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002",
    "32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002",
    "48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002"
    },
    "deleted": true,
    "deletedBy": {
    "accountId": "5b10a2844c20165700ede21g",
    "accountType": "atlassian",
    "active": false,
    "avatarUrls": {
    "16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
    "24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
    "32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
    "48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
    },
    "displayName": "Mia Krystof",
    "key": "",
    "name": "",
    "self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"
    },
    "deletedDate": "2022-11-11T13:35:29.000+0000",
    "id": "10002",
    "insight": {
    "lastIssueUpdateTime": "2021-04-22T05:37:05.000+0000",
    "totalIssueCount": 100
    },
    "key": "MKY",
    "name": "Example",
    "projectCategory": {
    "description": "First Project Category",
    "id": "10000",
    "name": "FIRST",
    "self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000"
    },
    "retentionTillDate": "2023-01-10T13:35:29.000+0000",
    "self": "https://your-domain.atlassian.net/rest/api/3/project/MKY",
    "simplified": false,
    "style": "classic"
    },
    "role": {
    "self": "https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360",
    "name": "Developers",
    "id": 10360,
    "description": "A project role that represents developers in a project",
    "actors": [
    {
    "actorGroup": {
    "name": "jira-developers",
    "displayName": "jira-developers",
    "groupId": "952d12c3-5b5b-4d04-bb32-44d383afc4b2"
    },
    "displayName": "jira-developers",
    "id": 10240,
    "name": "jira-developers",
    "type": "atlassian-group-role-actor"
    },
    {
    "actorUser": {
    "accountId": "5b10a2844c20165700ede21g"
    },
    "displayName": "Mia Krystof",
    "id": 10241,
    "type": "atlassian-user-role-actor"
    }
    ],
    "scope": {
    "project": {
    "id": "10000",
    "key": "KEY",
    "name": "Next Gen Project"
    },
    "type": "PROJECT"
    }
    },
    "type": "project"
    },
    {
    "group": {
    "groupId": "276f955c-63d7-42c8-9520-92d01dca0625",
    "name": "jira-administrators",
    "self": "https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"
    },
    "id": 10010,
    "type": "group"
    }
    ]

    POST /rest/api/3/filter/{id}/permission @scopes-current write:jira-work @scopes-beta write:filter:jira, read:filter:jira, read:group:jira, read:project:jira, read:user:jira, read:application-role:jira, read:avatar:jira, read:issue-type-hierarchy:jira, read:issue-type:jira, read:project-category:jira, read:project-role:jira, read:project-version:jira, read:project.component:jira

  • Returns a share permission for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.

    This operation can be accessed anonymously.

    Permissions required: None, however, a share permission is only returned for:

    • filters owned by the user.
    • filters shared with a group that the user is a member of.
    • filters shared with a private project that the user has Browse projects project permission for.
    • filters shared with a public project.
    • filters shared with the public.

    Parameters

    • params: {
          id: number;
          permissionId: number;
      }
      • id: number

        The ID of the filter.

      • permissionId: number

        The ID of the share permission.

    Returns Promise<SharePermission>

    Returned if the request is successful.

    example:

    {
    "id": 10000,
    "type": "global"
    }

    GET /rest/api/3/filter/{id}/permission/{permissionId} @scopes-current read:jira-work @scopes-beta read:filter:jira, read:group:jira, read:project:jira, read:project-role:jira, read:user:jira, read:application-role:jira, read:avatar:jira, read:issue-type-hierarchy:jira, read:issue-type:jira, read:project-category:jira, read:project-version:jira, read:project.component:jira

  • Returns the share permissions for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.

    This operation can be accessed anonymously.

    Permissions required: None, however, share permissions are only returned for:

    • filters owned by the user.
    • filters shared with a group that the user is a member of.
    • filters shared with a private project that the user has Browse projects project permission for.
    • filters shared with a public project.
    • filters shared with the public.

    Parameters

    • params: {
          id: number;
      }
      • id: number

        The ID of the filter.

    Returns Promise<SharePermission[]>

    Returned if the request is successful.

    example:

    [
    {
    "id": 10000,
    "type": "global"
    },
    {
    "id": 10010,
    "project": {
    "avatarUrls": {
    "16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000",
    "24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000",
    "32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000",
    "48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000"
    },
    "id": "10000",
    "insight": {
    "lastIssueUpdateTime": "2021-04-22T05:37:05.000+0000",
    "totalIssueCount": 100
    },
    "key": "EX",
    "name": "Example",
    "projectCategory": {
    "description": "First Project Category",
    "id": "10000",
    "name": "FIRST",
    "self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000"
    },
    "self": "https://your-domain.atlassian.net/rest/api/3/project/EX",
    "simplified": false,
    "style": "classic"
    },
    "type": "project"
    },
    {
    "id": 10010,
    "project": {
    "avatarUrls": {
    "16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002",
    "24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002",
    "32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002",
    "48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002"
    },
    "deleted": true,
    "deletedBy": {
    "accountId": "5b10a2844c20165700ede21g",
    "accountType": "atlassian",
    "active": false,
    "avatarUrls": {
    "16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
    "24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
    "32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
    "48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
    },
    "displayName": "Mia Krystof",
    "key": "",
    "name": "",
    "self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"
    },
    "deletedDate": "2022-11-11T13:35:29.000+0000",
    "id": "10002",
    "insight": {
    "lastIssueUpdateTime": "2021-04-22T05:37:05.000+0000",
    "totalIssueCount": 100
    },
    "key": "MKY",
    "name": "Example",
    "projectCategory": {
    "description": "First Project Category",
    "id": "10000",
    "name": "FIRST",
    "self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000"
    },
    "retentionTillDate": "2023-01-10T13:35:29.000+0000",
    "self": "https://your-domain.atlassian.net/rest/api/3/project/MKY",
    "simplified": false,
    "style": "classic"
    },
    "role": {
    "self": "https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360",
    "name": "Developers",
    "id": 10360,
    "description": "A project role that represents developers in a project",
    "actors": [
    {
    "actorGroup": {
    "name": "jira-developers",
    "displayName": "jira-developers",
    "groupId": "952d12c3-5b5b-4d04-bb32-44d383afc4b2"
    },
    "displayName": "jira-developers",
    "id": 10240,
    "name": "jira-developers",
    "type": "atlassian-group-role-actor"
    },
    {
    "actorUser": {
    "accountId": "5b10a2844c20165700ede21g"
    },
    "displayName": "Mia Krystof",
    "id": 10241,
    "type": "atlassian-user-role-actor"
    }
    ],
    "scope": {
    "project": {
    "id": "10000",
    "key": "KEY",
    "name": "Next Gen Project"
    },
    "type": "PROJECT"
    }
    },
    "type": "project"
    },
    {
    "group": {
    "groupId": "276f955c-63d7-42c8-9520-92d01dca0625",
    "name": "jira-administrators",
    "self": "https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"
    },
    "id": 10010,
    "type": "group"
    }
    ]

    GET /rest/api/3/filter/{id}/permission @scopes-current read:jira-work @scopes-beta read:filter:jira, read:group:jira, read:project:jira, read:user:jira, read:application-role:jira, read:avatar:jira, read:issue-type-hierarchy:jira, read:issue-type:jira, read:project-category:jira, read:project-role:jira, read:project-version:jira, read:project.component:jira

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

    Returns void