fetch-jsd
Version:
A simple and typed library, based on OpenAPI spec from developer.atlassian.com, for accessing product APIs.
706 lines • 60.2 kB
JavaScript
"use strict";
// tslint:disable
/**
* Service Desk Public REST API
* Public REST API for Jira Service Desk
*
* The version of the OpenAPI document: 1001.0.0-SNAPSHOT
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const runtime = require("../runtime");
const models_1 = require("../models");
/**
* no description
*/
class ServicedeskApi extends runtime.BaseAPI {
/**
* Adds one or more customers to a service desk. If any of the passed customers are associated with the service desk, no changes will be made for those customers and the resource returns a 204 success code. **[Permissions](#permissions) required**: Service desk administrator
* Add customers
*/
addCustomersRaw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling addCustomers.');
}
if (requestParameters.ServiceDeskCustomerDTO === null || requestParameters.ServiceDeskCustomerDTO === undefined) {
throw new runtime.RequiredError('ServiceDeskCustomerDTO', 'Required parameter requestParameters.ServiceDeskCustomerDTO was null or undefined when calling addCustomers.');
}
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["manage:servicedesk-customer"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/customer`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: models_1.ServiceDeskCustomerDTOToJSON(requestParameters.ServiceDeskCustomerDTO),
});
return new runtime.VoidApiResponse(response);
});
}
/**
* Adds one or more customers to a service desk. If any of the passed customers are associated with the service desk, no changes will be made for those customers and the resource returns a 204 success code. **[Permissions](#permissions) required**: Service desk administrator
* Add customers
*/
addCustomers(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
yield this.addCustomersRaw(requestParameters);
});
}
/**
* 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](#api-request-issueIdOrKey-attachment-post). **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](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html). 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](#permissions) required**: Permission to add attachments in this Service Desk.
* Attach temporary file
*/
attachTemporaryFileRaw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling attachTemporaryFile.');
}
const queryParameters = {};
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["write:servicedesk-request"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/attachTemporaryFile`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
});
return new runtime.TextApiResponse(response);
});
}
/**
* 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](#api-request-issueIdOrKey-attachment-post). **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](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html). 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](#permissions) required**: Permission to add attachments in this Service Desk.
* Attach temporary file
*/
attachTemporaryFile(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.attachTemporaryFileRaw(requestParameters);
return yield response.value();
});
}
/**
* 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 question mark icon. * Request type groups is left empty, which means this customer request type will not be visible on the [customer portal](https://confluence.atlassian.com/servicedeskcloud/configuring-the-customer-portal-732528918.html). * 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](#permissions) required**: Service desk\'s administrator
* Create request type
*/
createRequestTypeRaw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling createRequestType.');
}
if (requestParameters.RequestTypeCreateDTO === null || requestParameters.RequestTypeCreateDTO === undefined) {
throw new runtime.RequiredError('RequestTypeCreateDTO', 'Required parameter requestParameters.RequestTypeCreateDTO was null or undefined when calling createRequestType.');
}
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: models_1.RequestTypeCreateDTOToJSON(requestParameters.RequestTypeCreateDTO),
});
return new runtime.JSONApiResponse(response, (jsonValue) => models_1.RequestTypeDTOFromJSON(jsonValue));
});
}
/**
* 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 question mark icon. * Request type groups is left empty, which means this customer request type will not be visible on the [customer portal](https://confluence.atlassian.com/servicedeskcloud/configuring-the-customer-portal-732528918.html). * 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](#permissions) required**: Service desk\'s administrator
* Create request type
*/
createRequestType(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.createRequestTypeRaw(requestParameters);
return yield response.value();
});
}
/**
* 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](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-delete) endpoint. **[Permissions](#permissions) required**: Jira project administrator with a Jira Service Desk agent license.
* Delete property
*/
deleteProperty1Raw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling deleteProperty1.');
}
if (requestParameters.requestTypeId === null || requestParameters.requestTypeId === undefined) {
throw new runtime.RequiredError('requestTypeId', 'Required parameter requestParameters.requestTypeId was null or undefined when calling deleteProperty1.');
}
if (requestParameters.propertyKey === null || requestParameters.propertyKey === undefined) {
throw new runtime.RequiredError('propertyKey', 'Required parameter requestParameters.propertyKey was null or undefined when calling deleteProperty1.');
}
const queryParameters = {};
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["manage:jira-project"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/property/{propertyKey}`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))).replace(`{${"requestTypeId"}}`, encodeURIComponent(String(requestParameters.requestTypeId))).replace(`{${"propertyKey"}}`, encodeURIComponent(String(requestParameters.propertyKey))),
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
});
return new runtime.VoidApiResponse(response);
});
}
/**
* 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](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-delete) endpoint. **[Permissions](#permissions) required**: Jira project administrator with a Jira Service Desk agent license.
* Delete property
*/
deleteProperty1(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
yield this.deleteProperty1Raw(requestParameters);
});
}
/**
* Returns articles which match the given query and belong to the knowledge base linked to the service desk. **[Permissions](#permissions) required**: Permission to access the service desk.
* Get articles
*/
getArticles1Raw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling getArticles1.');
}
const queryParameters = {};
if (requestParameters.query !== undefined) {
queryParameters['query'] = requestParameters.query;
}
if (requestParameters.highlight !== undefined) {
queryParameters['highlight'] = requestParameters.highlight;
}
if (requestParameters.start !== undefined) {
queryParameters['start'] = requestParameters.start;
}
if (requestParameters.limit !== undefined) {
queryParameters['limit'] = requestParameters.limit;
}
const headerParameters = {};
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/knowledgebase/article`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
});
return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTOArticleDTOFromJSON(jsonValue));
});
}
/**
* Returns articles which match the given query and belong to the knowledge base linked to the service desk. **[Permissions](#permissions) required**: Permission to access the service desk.
* Get articles
*/
getArticles1(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getArticles1Raw(requestParameters);
return yield response.value();
});
}
/**
* 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](#permissions) required**: Permission to view this Service Desk\'s customers.
* Get customers
*/
getCustomersRaw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling getCustomers.');
}
const queryParameters = {};
if (requestParameters.query !== undefined) {
queryParameters['query'] = requestParameters.query;
}
if (requestParameters.start !== undefined) {
queryParameters['start'] = requestParameters.start;
}
if (requestParameters.limit !== undefined) {
queryParameters['limit'] = requestParameters.limit;
}
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["manage:servicedesk-customer"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/customer`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
});
return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTOUserDTOFromJSON(jsonValue));
});
}
/**
* 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](#permissions) required**: Permission to view this Service Desk\'s customers.
* Get customers
*/
getCustomers(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getCustomersRaw(requestParameters);
return yield response.value();
});
}
/**
* 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](#permissions) required**: Service desk\'s agent.
* Get issues in queue
*/
getIssuesInQueueRaw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling getIssuesInQueue.');
}
if (requestParameters.queueId === null || requestParameters.queueId === undefined) {
throw new runtime.RequiredError('queueId', 'Required parameter requestParameters.queueId was null or undefined when calling getIssuesInQueue.');
}
const queryParameters = {};
if (requestParameters.start !== undefined) {
queryParameters['start'] = requestParameters.start;
}
if (requestParameters.limit !== undefined) {
queryParameters['limit'] = requestParameters.limit;
}
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:jira-work"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/queue/{queueId}/issue`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))).replace(`{${"queueId"}}`, encodeURIComponent(String(requestParameters.queueId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
});
return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTOIssueBeanFromJSON(jsonValue));
});
}
/**
* 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](#permissions) required**: Service desk\'s agent.
* Get issues in queue
*/
getIssuesInQueue(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getIssuesInQueueRaw(requestParameters);
return yield response.value();
});
}
/**
* 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](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-get) endpoint. **[Permissions](#permissions) required**: The user must have permission to view the request type.
* Get properties keys
*/
getPropertiesKeys1Raw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.requestTypeId === null || requestParameters.requestTypeId === undefined) {
throw new runtime.RequiredError('requestTypeId', 'Required parameter requestParameters.requestTypeId was null or undefined when calling getPropertiesKeys1.');
}
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling getPropertiesKeys1.');
}
const queryParameters = {};
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/property`.replace(`{${"requestTypeId"}}`, encodeURIComponent(String(requestParameters.requestTypeId))).replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
});
return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PropertyKeysFromJSON(jsonValue));
});
}
/**
* 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](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-get) endpoint. **[Permissions](#permissions) required**: The user must have permission to view the request type.
* Get properties keys
*/
getPropertiesKeys1(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getPropertiesKeys1Raw(requestParameters);
return yield response.value();
});
}
/**
* Returns the value of the property from a request type. Properties for a Request Type in next-gen are stored as Issue Type properties and therefore also available by calling the Jira Cloud Platform [Get issue type property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-get) endpoint. **[Permissions](#permissions) required**: User must have permission to view the request type.
* Get property
*/
getProperty1Raw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling getProperty1.');
}
if (requestParameters.requestTypeId === null || requestParameters.requestTypeId === undefined) {
throw new runtime.RequiredError('requestTypeId', 'Required parameter requestParameters.requestTypeId was null or undefined when calling getProperty1.');
}
if (requestParameters.propertyKey === null || requestParameters.propertyKey === undefined) {
throw new runtime.RequiredError('propertyKey', 'Required parameter requestParameters.propertyKey was null or undefined when calling getProperty1.');
}
const queryParameters = {};
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/property/{propertyKey}`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))).replace(`{${"requestTypeId"}}`, encodeURIComponent(String(requestParameters.requestTypeId))).replace(`{${"propertyKey"}}`, encodeURIComponent(String(requestParameters.propertyKey))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
});
return new runtime.JSONApiResponse(response, (jsonValue) => models_1.EntityPropertyFromJSON(jsonValue));
});
}
/**
* Returns the value of the property from a request type. Properties for a Request Type in next-gen are stored as Issue Type properties and therefore also available by calling the Jira Cloud Platform [Get issue type property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-get) endpoint. **[Permissions](#permissions) required**: User must have permission to view the request type.
* Get property
*/
getProperty1(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getProperty1Raw(requestParameters);
return yield response.value();
});
}
/**
* 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](#permissions) required**: service desk\'s Agent.
* Get queue
*/
getQueueRaw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling getQueue.');
}
if (requestParameters.queueId === null || requestParameters.queueId === undefined) {
throw new runtime.RequiredError('queueId', 'Required parameter requestParameters.queueId was null or undefined when calling getQueue.');
}
const queryParameters = {};
if (requestParameters.includeCount !== undefined) {
queryParameters['includeCount'] = requestParameters.includeCount;
}
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:jira-work"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/queue/{queueId}`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))).replace(`{${"queueId"}}`, encodeURIComponent(String(requestParameters.queueId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
});
return new runtime.JSONApiResponse(response, (jsonValue) => models_1.QueueDTOFromJSON(jsonValue));
});
}
/**
* 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](#permissions) required**: service desk\'s Agent.
* Get queue
*/
getQueue(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getQueueRaw(requestParameters);
return yield response.value();
});
}
/**
* 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](#permissions) required**: service desk\'s Agent.
* Get queues
*/
getQueuesRaw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling getQueues.');
}
const queryParameters = {};
if (requestParameters.includeCount !== undefined) {
queryParameters['includeCount'] = requestParameters.includeCount;
}
if (requestParameters.start !== undefined) {
queryParameters['start'] = requestParameters.start;
}
if (requestParameters.limit !== undefined) {
queryParameters['limit'] = requestParameters.limit;
}
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:jira-work"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/queue`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
});
return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTOQueueDTOFromJSON(jsonValue));
});
}
/**
* 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](#permissions) required**: service desk\'s Agent.
* Get queues
*/
getQueues(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getQueuesRaw(requestParameters);
return yield response.value();
});
}
/**
* This method returns a customer request type from a service desk. **[Permissions](#permissions) required**: Permission to access the service desk.
* Get request type by id
*/
getRequestTypeByIdRaw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling getRequestTypeById.');
}
if (requestParameters.requestTypeId === null || requestParameters.requestTypeId === undefined) {
throw new runtime.RequiredError('requestTypeId', 'Required parameter requestParameters.requestTypeId was null or undefined when calling getRequestTypeById.');
}
const queryParameters = {};
if (requestParameters.expand) {
queryParameters['expand'] = requestParameters.expand.join(runtime.COLLECTION_FORMATS["csv"]);
}
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))).replace(`{${"requestTypeId"}}`, encodeURIComponent(String(requestParameters.requestTypeId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
});
return new runtime.JSONApiResponse(response, (jsonValue) => models_1.RequestTypeDTOFromJSON(jsonValue));
});
}
/**
* This method returns a customer request type from a service desk. **[Permissions](#permissions) required**: Permission to access the service desk.
* Get request type by id
*/
getRequestTypeById(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getRequestTypeByIdRaw(requestParameters);
return yield response.value();
});
}
/**
* 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](#permissions) required**: Permission to view the Service Desk.
* Get request type fields
*/
getRequestTypeFieldsRaw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling getRequestTypeFields.');
}
if (requestParameters.requestTypeId === null || requestParameters.requestTypeId === undefined) {
throw new runtime.RequiredError('requestTypeId', 'Required parameter requestParameters.requestTypeId was null or undefined when calling getRequestTypeFields.');
}
const queryParameters = {};
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/field`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))).replace(`{${"requestTypeId"}}`, encodeURIComponent(String(requestParameters.requestTypeId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
});
return new runtime.JSONApiResponse(response, (jsonValue) => models_1.CustomerRequestCreateMetaDTOFromJSON(jsonValue));
});
}
/**
* 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](#permissions) required**: Permission to view the Service Desk.
* Get request type fields
*/
getRequestTypeFields(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getRequestTypeFieldsRaw(requestParameters);
return yield response.value();
});
}
/**
* This method returns a service desk\'s customer request type groups. Jira Service Desk 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](#permissions) required**: Permission to view the service desk.
* Get request type groups
*/
getRequestTypeGroupsRaw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling getRequestTypeGroups.');
}
const queryParameters = {};
if (requestParameters.start !== undefined) {
queryParameters['start'] = requestParameters.start;
}
if (requestParameters.limit !== undefined) {
queryParameters['limit'] = requestParameters.limit;
}
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttypegroup`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
});
return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTORequestTypeGroupDTOFromJSON(jsonValue));
});
}
/**
* This method returns a service desk\'s customer request type groups. Jira Service Desk 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](#permissions) required**: Permission to view the service desk.
* Get request type groups
*/
getRequestTypeGroups(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getRequestTypeGroupsRaw(requestParameters);
return yield response.value();
});
}
/**
* 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\". **[Permissions](#permissions) required**: Permission to access the service desk.
* Get request types
*/
getRequestTypesRaw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling getRequestTypes.');
}
const queryParameters = {};
if (requestParameters.groupId !== undefined) {
queryParameters['groupId'] = requestParameters.groupId;
}
if (requestParameters.expand) {
queryParameters['expand'] = requestParameters.expand.join(runtime.COLLECTION_FORMATS["csv"]);
}
if (requestParameters.searchQuery !== undefined) {
queryParameters['searchQuery'] = requestParameters.searchQuery;
}
if (requestParameters.start !== undefined) {
queryParameters['start'] = requestParameters.start;
}
if (requestParameters.limit !== undefined) {
queryParameters['limit'] = requestParameters.limit;
}
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
if (typeof this.configuration.accessToken === 'function') {
headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]);
}
else {
headerParameters["Authorization"] = this.configuration.accessToken;
}
}
const response = yield this.request({
path: `/rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype`.replace(`{${"serviceDeskId"}}`, encodeURIComponent(String(requestParameters.serviceDeskId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
});
return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTORequestTypeDTOFromJSON(jsonValue));
});
}
/**
* 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\". **[Permissions](#permissions) required**: Permission to access the service desk.
* Get request types
*/
getRequestTypes(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getRequestTypesRaw(requestParameters);
return yield response.value();
});
}
/**
* 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](#permissions) required**: Permission to access the Service Desk. For example, being the Service Desk\'s Administrator or one of its Agents or Users.
* Get service desk by id
*/
getServiceDeskByIdRaw(requestParameters) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters.serviceDeskId === null || requestParameters.serviceDeskId === undefined) {
throw new runtime.RequiredError('serviceDeskId', 'Required parameter requestParameters.serviceDeskId was null or undefined when calling getServiceDeskById.');
}
const queryParameters = {};
const headerParameters = {};
if (this