Hierarchy

  • CommonHttpService
    • ServicedeskService

Constructors

  • Internal

    Create a new instance of the service.

    Parameters

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

    Returns ServicedeskService

Methods

  • This method adds one or more temporary attachments to a service desk, which can then be permanently attached to a customer request using servicedeskapi/request/{issueIdOrKey}/attachment.

    Note: It is possible for a service desk administrator to turn off the ability to add attachments to a service desk.

    This method expects a multipart request. The media-type multipart/form-data is defined in RFC 1867. Most client libraries have classes that make dealing with multipart posts simple. For instance, in Java the Apache HTTP Components library provides MultiPartEntity.

    Because this method accepts multipart/form-data, it has XSRF protection on it. This means you must submit a header of X-Atlassian-Token: no-check with the request or it will be blocked.

    The name of the multipart/form-data parameter that contains the attachments must be file.

    For example, to upload a file called myfile.txt in the Service Desk with ID 10001 use

    curl -D- -u customer:customer -X POST -H "X-ExperimentalApi: opt-in" -H
    "X-Atlassian-Token: no-check" -F "file=@myfile.txt"
    https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/10001/attachTemporaryFile

    Permissions required: Permission to add attachments in this Service Desk.

    Parameters

    • params: {
          multipartFiles: MultipartFile[];
          serviceDeskId: string;
      }
      • multipartFiles: MultipartFile[]
      • serviceDeskId: string

        The ID of the Service Desk to which the file will be attached. This can alternatively be a project identifier.

    Returns Promise<unknown>

    Returns if the file(s) were attached.

    example:

    {
    "temporaryAttachments": [
    {
    "temporaryAttachmentId": "temp8186986881700442965",
    "fileName": "atlassian.png"
    },
    {
    "temporaryAttachmentId": "temp589064256337898328",
    "fileName": "readme.txt"
    }
    ]
    }

    POST /rest/servicedeskapi/servicedesk/{serviceDeskId}/attachTemporaryFile @scopes-current write:servicedesk-request @scopes-beta read:request.attachment:jira-service-management, write:request.attachment:jira-service-management

  • This method enables a customer request type to be added to a service desk based on an issue type. Note that not all customer request type fields can be specified in the request and these fields are given the following default values:

    • Request type icon is given the headset icon.
    • Request type groups is left empty, which means this customer request type will not be visible on the customer portal.
    • Request type status mapping is left empty, so the request type has no custom status mapping but inherits the status map from the issue type upon which it is based.
    • Request type field mapping is set to show the required fields as specified by the issue type used to create the customer request type.

    These fields can be updated by a service desk administrator using the Request types option in Project settings. Request Types are created in next-gen projects by creating Issue Types. Please use the Jira Cloud Platform Create issue type endpoint instead.

    Permissions required: Service desk's administrator

    Parameters

    Returns Promise<RequestTypeDto>

    Returns the customer request type created.

    example:

    {
    "_expands": [],
    "id": "11001",
    "_links": {
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/28/requesttype/11001"
    },
    "name": "Get IT Help",
    "description": "Get IT Help",
    "helpText": "Please tell us clearly the problem you have within 100 words.",
    "issueTypeId": "12345",
    "serviceDeskId": "28",
    "portalId": "2",
    "groupIds": [
    "12"
    ],
    "icon": {
    "id": "12345",
    "_links": {
    "iconUrls": {
    "48x48": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12345?size=large",
    "24x24": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12345?size=small",
    "16x16": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12345?size=xsmall",
    "32x32": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12345?size=medium"
    }
    }
    }
    }
  • Removes a property from a request type.

    Properties for a Request Type in next-gen are stored as Issue Type properties and therefore can also be deleted by calling the Jira Cloud Platform Delete issue type property endpoint.

    Permissions required: Jira project administrator with a Jira Service Management agent license.

    Parameters

    • params: {
          propertyKey: string;
          requestTypeId: number;
          serviceDeskId: string;
      }
      • propertyKey: string

        The key of the property to remove.

      • requestTypeId: number

        The ID of the request type for which the property will be removed.

      • serviceDeskId: string

        The ID of the service desk which contains the request type. This can alternatively be a project identifier.

    Returns Promise<void>

    DELETE /rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/property/{propertyKey} @scopes-current manage:jira-project @scopes-beta read:requesttype.property:jira-service-management, delete:requesttype.property:jira-service-management

  • Returns articles which match the given query and belong to the knowledge base linked to the service desk.

    Permissions required: Permission to access the service desk.

    Parameters

    • params: {
          cursor?: string;
          highlight?: boolean;
          limit?: number;
          prev?: boolean;
          query: string;
          serviceDeskId: string;
          start?: number;
      }
      • Optionalcursor?: string

        Pointer to a set of search results, returned as part of the next or prev URL from the previous search call.

      • Optionalhighlight?: boolean

        If set to true matching query term in the title and excerpt will be highlighted using the @@@hl@@@term@@@endhl@@@ syntax. Default: false.

      • Optionallimit?: number

        The maximum number of items to return per page. Default: 50. See the section for more details.

      • Optionalprev?: boolean

        Should navigate to the previous page. Defaulted to false. Set to true as part of prev URL from the previous search call.

      • query: string

        The string used to filter the articles (required).

      • serviceDeskId: string
      • Optionalstart?: number

        (Deprecated) The starting index of the returned objects. Base index: 0.

    Returns Promise<PagedDtoArticleDto>

    Returns the articles, on the specified page of the results.

    example:

    {
    "_expands": [],
    "size": 2,
    "start": 2,
    "limit": 2,
    "isLastPage": false,
    "_links": {
    "base": "https://your-domain.atlassian.net/rest/servicedeskapi",
    "context": "context",
    "next": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/%7BserviceDeskId%7D/knowledgebase/article?start=4&limit=2",
    "prev": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/%7BserviceDeskId%7D/knowledgebase/article?start=0&limit=2"
    },
    "values": [
    {
    "title": "Stolen computer",
    "excerpt": "assuming your computer was stolen",
    "source": {
    "type": "confluence",
    "pageId": "8786177",
    "spaceKey": "IT"
    },
    "content": {
    "iframeSrc": "https://your-domain.atlassian.net/rest/servicedeskapi/knowledgebase/article/view/8786177"
    }
    },
    {
    "title": "Upgrading computer",
    "excerpt": "each computer older then 3 years can be upgraded",
    "source": {
    "type": "confluence",
    "pageId": "8785228",
    "spaceKey": "IT"
    },
    "content": {
    "iframeSrc": "https://your-domain.atlassian.net/rest/servicedeskapi/knowledgebase/article/view/8785228"
    }
    }
    ]
    }
  • This method returns a list of the customers on a service desk.

    The returned list of customers can be filtered using the query parameter. The parameter is matched against customers' displayName, name, or email. For example, searching for "John", "Jo", "Smi", or "Smith" will match a user with display name "John Smith".

    Permissions required: Permission to view this Service Desk's customers.

    Parameters

    • params: {
          limit?: number;
          query?: string;
          serviceDeskId: string;
          start?: number;
      }
      • Optionallimit?: number

        The maximum number of users to return per page. Default: 50. See the Pagination section for more details.

      • Optionalquery?: string

        The string used to filter the customer list.

      • serviceDeskId: string

        The ID of the service desk the customer list should be returned from. This can alternatively be a project identifier.

      • Optionalstart?: number

        The starting index of the returned objects. Base index: 0. See the Pagination section for more details.

    Returns Promise<PagedDtoUserDto>

    Returns the service desk's customer list.

    example:

    {
    "_expands": [],
    "size": 1,
    "start": 1,
    "limit": 1,
    "isLastPage": false,
    "_links": {
    "base": "https://your-domain.atlassian.net/rest/servicedeskapi",
    "context": "context",
    "next": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/1/customer?start=2&limit=1",
    "prev": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/1/customer?start=0&limit=1"
    },
    "values": [
    {
    "accountId": "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b",
    "name": "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b",
    "key": "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b",
    "emailAddress": "fred@example.com",
    "displayName": "Fred F. User",
    "active": true,
    "timeZone": "Australia/Sydney",
    "_links": {
    "jiraRest": "https://your-domain.atlassian.net/rest/api/2/user?username=qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b",
    "avatarUrls": {
    "16x16": "https://avatar-cdn.atlassian.com/9bc3b5bcb0db050c6d7660b28a5b86c9?s=16&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F9bc3b5bcb0db050c6d7660b28a5b86c9%3Fd%3Dmm%26s%3D16%26noRedirect%3Dtrue",
    "24x24": "https://avatar-cdn.atlassian.com/9bc3b5bcb0db050c6d7660b28a5b86c9?s=24&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F9bc3b5bcb0db050c6d7660b28a5b86c9%3Fd%3Dmm%26s%3D24%26noRedirect%3Dtrue",
    "32x32": "https://avatar-cdn.atlassian.com/9bc3b5bcb0db050c6d7660b28a5b86c9?s=32&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F9bc3b5bcb0db050c6d7660b28a5b86c9%3Fd%3Dmm%26s%3D32%26noRedirect%3Dtrue",
    "48x48": "https://avatar-cdn.atlassian.com/9bc3b5bcb0db050c6d7660b28a5b86c9?s=48&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F9bc3b5bcb0db050c6d7660b28a5b86c9%3Fd%3Dmm%26s%3D48%26noRedirect%3Dtrue"
    },
    "self": "https://your-domain.atlassian.net/rest/api/2/user?username=qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b"
    }
    }
    ]
    }

    GET /rest/servicedeskapi/servicedesk/{serviceDeskId}/customer @scopes-current manage:servicedesk-customer @scopes-beta read:servicedesk.customer:jira-service-management, read:user:jira

  • This method returns the customer requests in a queue. Only fields that the queue is configured to show are returned. For example, if a queue is configured to show description and due date, then only those two fields are returned for each customer request in the queue.

    Permissions required: Service desk's agent.

    Parameters

    • params: {
          limit?: number;
          queueId: number;
          serviceDeskId: string;
          start?: number;
      }
      • Optionallimit?: number

        The maximum number of items to return per page. Default: 50. See the Pagination section for more details.

      • queueId: number

        The ID of the queue whose customer requests will be returned.

      • serviceDeskId: string

        The ID of the service desk containing the queue to be queried. This can alternatively be a project identifier.

      • Optionalstart?: number

        The starting index of the returned objects. Base index: 0. See the Pagination section for more details.

    Returns Promise<PagedDtoIssueBean>

    Returns the customer requests belonging to the queue, on the specified page of the results.

    example:

    {
    "_expands": [],
    "size": 1,
    "start": 1,
    "limit": 1,
    "isLastPage": false,
    "_links": {
    "base": "https://your-domain.atlassian.net/rest/servicedeskapi",
    "context": "context",
    "next": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/1/queue/10/issue?start=2&limit=1",
    "prev": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/1/queue/10/issue?start=0&limit=1"
    },
    "values": [
    {
    "fields": {
    "summary": "My keyboard is broken",
    "issuetype": {
    "avatarId": 10002,
    "description": "For general IT problems and questions. Created by Jira Service Management.",
    "iconUrl": "https://your-domain.atlassian.net/servicedesk/issue-type-icons?icon=it-help",
    "id": "13",
    "name": "IT Help",
    "self": "https://your-domain.atlassian.net/rest/api/2/issuetype/13",
    "subtask": false
    },
    "duedate": "2015-11-11T14:17:13.000+0700",
    "created": "2015-11-09T14:17:13.000+0700",
    "reporter": {
    "accountId": "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b",
    "name": "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b",
    "key": "qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b",
    "emailAddress": "fred@example.com",
    "displayName": "Fred F. User",
    "active": true,
    "timeZone": "Australia/Sydney",
    "_links": {
    "jiraRest": "https://your-domain.atlassian.net/rest/api/2/user?username=qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b",
    "avatarUrls": {
    "16x16": "https://avatar-cdn.atlassian.com/9bc3b5bcb0db050c6d7660b28a5b86c9?s=16&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F9bc3b5bcb0db050c6d7660b28a5b86c9%3Fd%3Dmm%26s%3D16%26noRedirect%3Dtrue",
    "24x24": "https://avatar-cdn.atlassian.com/9bc3b5bcb0db050c6d7660b28a5b86c9?s=24&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F9bc3b5bcb0db050c6d7660b28a5b86c9%3Fd%3Dmm%26s%3D24%26noRedirect%3Dtrue",
    "32x32": "https://avatar-cdn.atlassian.com/9bc3b5bcb0db050c6d7660b28a5b86c9?s=32&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F9bc3b5bcb0db050c6d7660b28a5b86c9%3Fd%3Dmm%26s%3D32%26noRedirect%3Dtrue",
    "48x48": "https://avatar-cdn.atlassian.com/9bc3b5bcb0db050c6d7660b28a5b86c9?s=48&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F9bc3b5bcb0db050c6d7660b28a5b86c9%3Fd%3Dmm%26s%3D48%26noRedirect%3Dtrue"
    },
    "self": "https://your-domain.atlassian.net/rest/api/2/user?username=qm:a713c8ea-1075-4e30-9d96-891a7d181739:5ad6d3581db05e2a66fa80b"
    }
    }
    },
    "id": "10001",
    "key": "SD-1",
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/rest/api/2/issue/10001"
    }
    ]
    }

    GET /rest/servicedeskapi/servicedesk/{serviceDeskId}/queue/{queueId}/issue @scopes-current read:jira-work @scopes-beta read:queue:jira-service-management, read:user:jira, read:issue:jira

  • Returns the keys of all properties for a request type.

    Properties for a Request Type in next-gen are stored as Issue Type properties and therefore the keys of all properties for a request type are also available by calling the Jira Cloud Platform Get issue type property keys endpoint.

    Permissions required: The user must have permission to view the request type.

    Parameters

    • params: {
          requestTypeId: number;
          serviceDeskId: string;
      }
      • requestTypeId: number

        The ID of the request type for which keys will be retrieved.

      • serviceDeskId: string

        The ID of the service desk which contains the request type. This can alternatively be a project identifier.

    Returns Promise<PropertyKeys>

    Returned if the request type was found.

    example:

    {
    "entityPropertyKeyBeans": [
    {
    "key": "requestType.attributes",
    "self": "/rest/servicedeskapi/servicedesk/1/requestType/2/property/propertyKey"
    }
    ]
    }

    GET /rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/property @scopes-current read:servicedesk-request @scopes-beta read:requesttype.property:jira-service-management

  • This method returns a specific queues in a service desk. To include a customer request count for the queue (in the issueCount field) in the response, set the query parameter includeCount to true (its default is false).

    Permissions required: service desk's Agent.

    Parameters

    • params: {
          includeCount?: boolean;
          queueId: number;
          serviceDeskId: string;
      }
      • OptionalincludeCount?: boolean

        Specifies whether to include each queue's customer request (issue) count in the response.

      • queueId: number

        ID of the required queue.

      • serviceDeskId: string

        ID of the service desk whose queues will be returned. This can alternatively be a project identifier.

    Returns Promise<QueueDto>

    Returns the specific queue of the service desk.

    example:

    {
    "id": "20",
    "name": "Assigned to me",
    "jql": "project = SD AND assignee = currentUser() AND resolution = Unresolved ORDER BY \"Time to resolution\" ASC",
    "fields": [
    "issuetype",
    "issuekey",
    "summary",
    "created",
    "reporter",
    "duedate"
    ],
    "issueCount": 10,
    "_links": {
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/1/queue/20"
    }
    }

    GET /rest/servicedeskapi/servicedesk/{serviceDeskId}/queue/{queueId} @scopes-current read:jira-work @scopes-beta read:queue:jira-service-management, read:user:jira, read:jql:jira

  • This method returns the queues in a service desk. To include a customer request count for each queue (in the issueCount field) in the response, set the query parameter includeCount to true (its default is false).

    Permissions required: service desk's Agent.

    Parameters

    • params: {
          includeCount?: boolean;
          limit?: number;
          serviceDeskId: string;
          start?: number;
      }
      • OptionalincludeCount?: boolean

        Specifies whether to include each queue's customer request (issue) count in the response.

      • Optionallimit?: number

        The maximum number of items to return per page. Default: 50. See the Pagination section for more details.

      • serviceDeskId: string

        ID of the service desk whose queues will be returned. This can alternatively be a project identifier.

      • Optionalstart?: number

        The starting index of the returned objects. Base index: 0. See the Pagination section for more details.

    Returns Promise<PagedDtoQueueDto>

    Returns the queues of the service desk, on the specified page of the results.

    example:

    {
    "_expands": [],
    "size": 2,
    "start": 2,
    "limit": 2,
    "isLastPage": false,
    "_links": {
    "base": "https://your-domain.atlassian.net/rest/servicedeskapi",
    "context": "context",
    "next": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/1/queue?start=4&limit=2",
    "prev": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/1/queue?start=0&limit=2"
    },
    "values": [
    {
    "id": "10",
    "name": "Unassigned issues",
    "jql": "project = SD AND assignee is EMPTY AND resolution = Unresolved ORDER BY \"Time to resolution\" ASC",
    "fields": [
    "issuetype",
    "issuekey",
    "summary",
    "created",
    "reporter",
    "duedate"
    ],
    "issueCount": 10,
    "_links": {
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/1/queue/10"
    }
    },
    {
    "id": "20",
    "name": "Assigned to me",
    "jql": "project = SD AND assignee = currentUser() AND resolution = Unresolved ORDER BY \"Time to resolution\" ASC",
    "fields": [
    "issuetype",
    "issuekey",
    "summary",
    "created",
    "reporter",
    "duedate"
    ],
    "issueCount": 10,
    "_links": {
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/1/queue/20"
    }
    }
    ]
    }

    GET /rest/servicedeskapi/servicedesk/{serviceDeskId}/queue @scopes-current read:jira-work @scopes-beta read:queue:jira-service-management, read:user:jira, read:jql:jira

  • This method returns a customer request type from a service desk.

    This operation can be accessed anonymously.

    Permissions required: Permission to access the service desk.

    Parameters

    • params: {
          expand?: string[];
          requestTypeId: string;
          serviceDeskId: string;
      }
      • Optionalexpand?: string[]
      • requestTypeId: string

        The ID of the customer request type to be returned.

      • serviceDeskId: string

        The ID of the service desk whose customer request type is to be returned. This can alternatively be a project identifier.

    Returns Promise<RequestTypeDto>

    Returns the customer request type item.

    example:

    {
    "_expands": [],
    "id": "11001",
    "_links": {
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/28/requesttype/11001"
    },
    "name": "Get IT Help",
    "description": "Get IT Help",
    "helpText": "Please tell us clearly the problem you have within 100 words.",
    "issueTypeId": "12345",
    "serviceDeskId": "28",
    "portalId": "2",
    "groupIds": [
    "12"
    ],
    "icon": {
    "id": "12345",
    "_links": {
    "iconUrls": {
    "48x48": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12345?size=large",
    "24x24": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12345?size=small",
    "16x16": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12345?size=xsmall",
    "32x32": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12345?size=medium"
    }
    }
    }
    }

    GET /rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId} @scopes-current read:servicedesk-request @scopes-beta read:requesttype:jira-service-management

  • This method returns the fields for a service desk's customer request type.

    Also, the following information about the user's permissions for the request type is returned:

    • canRaiseOnBehalfOf returns true if the user has permission to raise customer requests on behalf of other customers. Otherwise, returns false.
    • canAddRequestParticipants returns true if the user can add customer request participants. Otherwise, returns false.

    Permissions required: Permission to view the Service Desk. However, hidden fields would be visible to only Service desk's Administrator.

    Parameters

    • params: {
          expand?: string[];
          requestTypeId: number;
          serviceDeskId: string;
      }
      • Optionalexpand?: string[]

        Use expand to include additional information in the response. This parameter accepts hiddenFields that returns hidden fields associated with the request type.

      • requestTypeId: number

        The ID of the request types whose fields are to be returned.

      • serviceDeskId: string

        The ID of the service desk containing the request types whose fields are to be returned. This can alternatively be a project identifier.

    Returns Promise<CustomerRequestCreateMetaDto>

    Returns the request type's fields and user permission details, on the specified page of the results.

    example:

    {
    "canAddRequestParticipants": true,
    "canRaiseOnBehalfOf": true,
    "requestTypeFields": [
    {
    "fieldId": "summary",
    "jiraSchema": {
    "system": "summary",
    "type": "string"
    },
    "name": "What do you need?",
    "required": true,
    "validValues": [],
    "visible": true
    },
    {
    "fieldId": "customfield_10000",
    "jiraSchema": {
    "custom": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker",
    "customId": 10000,
    "type": "user"
    },
    "name": "Nominee",
    "required": true,
    "validValues": [],
    "visible": true
    },
    {
    "fieldId": "customfield_10001",
    "jiraSchema": {
    "custom": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons",
    "customId": 10001,
    "type": "string"
    },
    "name": "Gifts",
    "required": true,
    "validValues": [
    {
    "children": [],
    "label": "Bottle of Wine",
    "value": "10000"
    },
    {
    "children": [],
    "label": "Threadless Voucher",
    "value": "10001"
    },
    {
    "children": [],
    "label": "2 Movie Tickets",
    "value": "10002"
    }
    ],
    "visible": false
    }
    ]
    }

    GET /rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/field @scopes-current read:servicedesk-request @scopes-beta read:requesttype:jira-service-management

  • This method returns a service desk's customer request type groups. Jira Service Management administrators can arrange the customer request type groups in an arbitrary order for display on the customer portal; the groups are returned in this order.

    Permissions required: Permission to view the service desk.

    Parameters

    • params: {
          limit?: number;
          serviceDeskId: string;
          start?: number;
      }
      • Optionallimit?: number

        The maximum number of items to return per page. Default: 50. See the Pagination section for more details.

      • serviceDeskId: string

        The ID of the service desk whose customer request type groups are to be returned. This can alternatively be a project identifier.

      • Optionalstart?: number

        The starting index of the returned objects. Base index: 0. See the Pagination section for more details.

    Returns Promise<PagedDtoRequestTypeGroupDto>

    Returns the service desk's customer request type groups, on the specified page of the results.

    example:

    {
    "_expands": [],
    "size": 3,
    "start": 3,
    "limit": 3,
    "isLastPage": false,
    "_links": {
    "base": "https://your-domain.atlassian.net/rest/servicedeskapi",
    "context": "context",
    "next": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/%7BserviceDeskId%7D/requesttypegroup?start=6&limit=3",
    "prev": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/%7BserviceDeskId%7D/requesttypegroup?start=0&limit=3"
    },
    "values": [
    {
    "id": "12",
    "name": "Common Requests"
    },
    {
    "id": "13",
    "name": "Logins and Accounts"
    },
    {
    "id": "14",
    "name": "Servers and Infrastructure"
    }
    ]
    }

    GET /rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttypegroup @scopes-current read:servicedesk-request @scopes-beta read:requesttype:jira-service-management

  • This method returns all customer request types from a service desk. There are two parameters for filtering the returned list:

    • groupId which filters the results to items in the customer request type group.
    • searchQuery which is matched against request types' name or description. For example, the strings "Install", "Inst", "Equi", or "Equipment" will match a request type with the name "Equipment Installation Request".

    Note: This API by default will filter out request types hidden in the portal (i.e. request types without groups and request types where a user doesn't have permission) when searchQuery is provided, unless includeHiddenRequestTypesInSearch is set to true. Restricted request types will not be returned for those who aren't admins.

    Permissions required: Permission to access the service desk.

    Parameters

    • params: {
          expand?: string[];
          groupId?: number;
          includeHiddenRequestTypesInSearch?: boolean;
          limit?: number;
          restrictionStatus?: string;
          searchQuery?: string;
          serviceDeskId: string;
          start?: number;
      }
      • Optionalexpand?: string[]
      • OptionalgroupId?: number

        Filters results to those in a customer request type group.

      • OptionalincludeHiddenRequestTypesInSearch?: boolean

        Whether to include hidden request types when searching with searchQuery.

      • Optionallimit?: number

        The maximum number of items to return per page. Default: 50. See the Pagination section for more details.

      • OptionalrestrictionStatus?: string

        Request type restriction status (open or restricted) used to filter the results.

      • OptionalsearchQuery?: string

        The string to be used to filter the results.

      • serviceDeskId: string

        The ID of the service desk whose customer request types are to be returned. This can alternatively be a project identifier.

      • Optionalstart?: number

        The starting index of the returned objects. Base index: 0. See the Pagination section for more details.

    Returns Promise<PagedDtoRequestTypeDto>

    Returns the requested customer request types, on the specified page of the results.

    example:

    {
    "_expands": [],
    "size": 3,
    "start": 3,
    "limit": 3,
    "isLastPage": false,
    "_links": {
    "base": "https://your-domain.atlassian.net/rest/servicedeskapi",
    "context": "context",
    "next": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/28/requesttype?start=6&limit=3",
    "prev": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/28/requesttype?start=0&limit=3"
    },
    "values": [
    {
    "_expands": [],
    "id": "11001",
    "_links": {
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/28/requesttype/11001"
    },
    "name": "Get IT Help",
    "description": "Get IT Help",
    "helpText": "Please tell us clearly the problem you have within 100 words.",
    "issueTypeId": "12345",
    "serviceDeskId": "28",
    "portalId": "2",
    "groupIds": [
    "12"
    ],
    "icon": {
    "id": "12345",
    "_links": {
    "iconUrls": {
    "48x48": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12345?size=large",
    "24x24": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12345?size=small",
    "16x16": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12345?size=xsmall",
    "32x32": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12345?size=medium"
    }
    }
    }
    },
    {
    "_expands": [],
    "id": "11002",
    "_links": {
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/28/requesttype/11002"
    },
    "name": "Request a new account",
    "description": "Request a new account",
    "issueTypeId": "12345",
    "serviceDeskId": "28",
    "portalId": "2",
    "groupIds": [
    "13",
    "14"
    ],
    "icon": {
    "id": "12346",
    "_links": {
    "iconUrls": {
    "48x48": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12346?size=large",
    "24x24": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12346?size=small",
    "16x16": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12346?size=xsmall",
    "32x32": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12346?size=medium"
    }
    }
    }
    },
    {
    "_expands": [],
    "id": "11003",
    "_links": {
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/28/requesttype/11003"
    },
    "name": "Hardware request",
    "description": "Request a hardware support",
    "issueTypeId": "12345",
    "serviceDeskId": "28",
    "portalId": "2",
    "groupIds": [
    "13"
    ],
    "icon": {
    "id": "12347",
    "_links": {
    "iconUrls": {
    "48x48": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12347?size=large",
    "24x24": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12347?size=small",
    "16x16": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12347?size=xsmall",
    "32x32": "https://your-domain.atlassian.net/rest/api/2/universal_avatar/view/type/SD_REQTYPE/avatar/12347?size=medium"
    }
    }
    }
    }
    ]
    }

    GET /rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype @scopes-current read:servicedesk-request @scopes-beta read:requesttype:jira-service-management

  • This method returns a service desk. Use this method to get service desk details whenever your application component is passed a service desk ID but needs to display other service desk details.

    Permissions required: Permission to access the Service Desk. For example, being the Service Desk's Administrator or one of its Agents or Users.

    Parameters

    • params: {
          serviceDeskId: string;
      }
      • serviceDeskId: string

        The ID of the service desk to return. This can alternatively be a project identifier.

    Returns Promise<ServiceDeskDto>

    Returns the requested service desk.

    example:

    {
    "id": "10001",
    "projectId": "11001",
    "projectName": "IT Help Desk",
    "projectKey": "ITH",
    "_links": {
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/10001"
    }
    }

    GET /rest/servicedeskapi/servicedesk/{serviceDeskId} @scopes-current read:servicedesk-request @scopes-beta read:servicedesk:jira-service-management

  • This method returns all the service desks in the Jira Service Management instance that the user has permission to access. Use this method where you need a list of service desks or need to locate a service desk by name or keyword.

    Note: This method will be slow if the instance has hundreds of service desks. If you want to fetch a single service desk by its ID, use /rest/servicedeskapi/servicedesk/{serviceDeskId} instead.

    Permissions required: Any

    Parameters

    • params: {
          limit?: number;
          start?: number;
      } = {}
      • Optionallimit?: number

        The maximum number of items to return per page. Default: 50. See the Pagination section for more details.

      • Optionalstart?: number

        The starting index of the returned objects. Base index: 0. See the Pagination section for more details.

    Returns Promise<PagedDtoServiceDeskDto>

    Returns the service desks, on the specified page of the results.

    example:

    {
    "_expands": [],
    "size": 3,
    "start": 3,
    "limit": 3,
    "isLastPage": false,
    "_links": {
    "base": "https://your-domain.atlassian.net/rest/servicedeskapi",
    "context": "context",
    "next": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk?start=6&limit=3",
    "prev": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk?start=0&limit=3"
    },
    "values": [
    {
    "id": "10001",
    "projectId": "11001",
    "projectName": "IT Help Desk",
    "projectKey": "ITH",
    "_links": {
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/10001"
    }
    },
    {
    "id": "10002",
    "projectId": "11002",
    "projectName": "HR Self Serve Desk",
    "projectKey": "HR",
    "_links": {
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/10002"
    }
    },
    {
    "id": "10003",
    "projectId": "11003",
    "projectName": "Foundation Leave",
    "projectKey": "FL",
    "_links": {
    "self": "https://your-domain.atlassian.net/rest/servicedeskapi/servicedesk/10003"
    }
    }
    ]
    }

    GET /rest/servicedeskapi/servicedesk @scopes-current read:servicedesk-request @scopes-beta read:servicedesk:jira-service-management

  • Sets the value of a request type property. Use this resource to store custom data against a request type.

    Properties for a Request Type in next-gen are stored as Issue Type properties and therefore can also be set by calling the Jira Cloud Platform Set issue type property endpoint.

    Permissions required: Jira project administrator with a Jira Service Management agent license.

    Parameters

    • params: {
          propertyKey: string;
          requestTypeId: number;
          serviceDeskId: string;
      }
      • propertyKey: string

        The key of the request type property. The maximum length of the key is 255 bytes.

      • requestTypeId: number

        The ID of the request type on which the property will be set.

      • serviceDeskId: string

        The ID of the service desk which contains the request type. This can alternatively be a project identifier.

    Returns Promise<{
        body: unknown;
        created: boolean;
    }>

    • status: 200, mediaType: application/json

      Returned if the request type property is updated.

    • status: 201, mediaType: application/json

      Returned if the request type property is created.

    PUT /rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/property/{propertyKey} @scopes-current manage:jira-project @scopes-beta read:requesttype.property:jira-service-management, write:requesttype.property:jira-service-management

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

    Returns void