Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
This server class allows to operate with the REST API methods and parameters Используйте этот класс для рабты с методами и параметрами REST API.
SimpleRestRequest()
Initializes an empty SimpleRestRequest object. When using such an object, specify the method and the endpoint manuallyДанный метод предназначен для создания пустого объекта SimpleRestRequest. При использовании такого объекта укажите метод и конечную точку вручную.
SimpleRestRequest(requestName, methodName)
This method is intended to create an object used in the REST requests. When using the method, an object is created with the sws prefix (see the code example below for clarification).
Parameter(s):
Этот метод предназначен для создания объекта, используемого в запросах REST. При использовании метода создается объект с префиксом sws (см. пояснение в примере кода ниже).
Параметры:
Название | Тип | Обязательный | Значение по умолчанию | Name | Type | Mandatory | Default Value |
---|---|---|---|---|---|---|---|
requestName | String | NНетN | Нет | ||||
methodName | String | NНетN | Нет |
Info | ||||||
---|---|---|---|---|---|---|
Provide values for parameters as shown below Укажите значения параметров, как показано ниже:
|
ReturnВозвращаемое значение:
TypeТип | DescriptionОписание | |
---|---|---|
SimpleRestRequest object | This method returns a SimpleRestRequest object initiated by the query transmitted; otherwise, it returns an empty SimpleRestRequest object. | Этот метод возвращает объект SimpleRestRequest, созданный при помощи переданного запроса. В случае ошибки метод возвращает пустой объект SimpleRestRequest. |
ПримерExample:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
/* Create the 'Telegram' request in REST Requests (sys_rest_requests) table and the 'Send Message' method in REST Request Methods (sys_rest_request_method) table related with 'Telegram' request. Also create 'chat_id' and 'text' Rest Request Method Param (sys_rest_request_method_param) related with 'Send Message' method */ const request = sws.restRequestV1('Telegram', 'Send Message'); request.setStringParameter('chat_id', '123456789'); request.setStringParameter('text', 'telegram'); const response = request.execute(); // ORИЛИ const request = sws.restRequestV1(); request.setRequestUrl('https://api.telegram.org/bot1860462740:AAHyP6BMH2Mh-cXezrTVu2sJUoNYvimMRMQ/sendMessage'); request.setQueryParameter('chat_id', '123456789'); request.setQueryParameter('text', 'telegram'); const response = request.execute(); |
addFileContent()
The method prepares a file in binary format for sending it in a request.
Parameter(s):
Используйте данный метод для подготовки файла в двоичном формате и его последующей отправки в запросе.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию | Описание | Name | Type | Mandatory | Default Value | Description |
---|---|---|---|---|---|---|---|---|---|
content | String | YДа | N | Нет | Данные двоичного файла в кодировке base64The base64 encoded binary file data. | ||||
paramName | String | YДа | N | Нет | Название параметра в запросе POST, который передает двоичные данныеThe name of the parameter in the POST request that will transmit the binary data. | ||||
fileName | String | YДа | N | Нет | Название файлаThe file name. |
Info |
---|
It is possible to add several files to one request. In this case, the name of the POST request parameter should look like an array of elements. For example, if there is one file, the parameter can be called files. If there are two files, they should be called files[1] and files[2]. |
ReturnВозвращаемое значение:
TypeТип | DescriptionОписание |
---|---|
Void | This method does not return a valueДанный метод не возвращает значение. |
ExamplesПримеры:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const request = sws.restRequestV1(); request.setRequestUrl('https://instance.example1.com/some/service'); //the URL from which the files are downloaded const downloadResponse = request.execute(); request.setRequestUrl('https://instance.example2.com/v1/attachments/upload/task/165469349718887155'); // the URL on which the files are uploaded request.addFileContent(downloadResponse.getContentBase64(), 'files[1]', 'file.png'); request.addFileContent(downloadResponse.getContentBase64(), 'files[2]', 'file2.png'); const uploadResponse = request.execute(); |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const request = sws.restRequestV1(); request.setRequestUrl('https://instance.example1.com/some/service'); //the URL from which the file is downloaded const downloadResponse = request.execute(); request.setRequestUrl('https://instance.example2.com/v1/attachments/upload/task/165469349718887155'); // the URL on which the file is uploaded request.addFileContent(downloadResponse.getContentBase64(), 'files', 'file.mp3'); const uploadResponse = request.execute(); |
execute()
Sends the REST requestИспользуйте данный метод для отправки запроса REST.
ReturnВозвращаемое значение:
TypeТип | DescriptionОписание |
---|---|
SimpleRestResponseThis method returns a SimpleRestResponse | objectМетод возвращает значение объекта SimpleRestResponse. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const request = sws.restRequestV1(); request.setRequestUrl(`https://jsonplaceholder.typicode.com/todos/1`); request.setRequestMethod('GET'); const response = request.execute(); |
setBasicAuth(userName, userPassword)
Sets the username for the web service authentification if the basic authentication type was chosen.
Parameter(s):
Используйте этот метод, чтобы настроить имя пользователя для аутентификации веб-службы, если выбран базовый тип аутентификации.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию | Name | Type | Mandatory | Default Value |
---|---|---|---|---|---|---|---|
userName | String | YДа | NНет | ||||
userPassword | String | YДа | NНет |
ReturnВозвращаемое значение:
TypeТип | DescriptionОписание |
---|---|
Void | This method does not return a valueДанный метод не возвращает значение. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const scriptJSON = { 'script': 'ss.info(new SimpleDateTime().getValue())' } const request = sws.restRequestV1(); request.setRequestUrl(ss.getProperty('simple.instance.uri') + '/v1/ajax-script/run'); request.setRequestMethod('POST'); request.setBasicAuth('admin', 'password'); request.setRequestHeader('Content-type', 'application/json'); request.setRequestBody(JSON.stringify(scriptJSON)); const response = request.execute(); ss.info(response.getBody()); // Info: {"messages":[],"status":"OK","data":{"result":null,"info":"Info: 20... |
This code fragment below demonstrates how to retrieve the authorization token with a user login and password. The code uses example data for the the setRequestUrl(requestUrl) method and the payload constant. Replace it with the real data before usageФрагмент кода ниже демонстрирует, как получить токен авторизации с логином и паролем пользователя. В коде используются примеры данных для метода setRequestUrl(requestUrl) и константы полезной нагрузки. Замените его реальными данными перед использованием.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const request = sws.restRequestV1(); request.setRequestUrl('https://instance.example.com/v1/auth/login'); request.setRequestMethod('POST'); request.setRequestHeader('Content-type', 'application/json'); const payload = { 'username': 'admin', 'password': 'qwerty123456' } request.setRequestBody(JSON.stringify(payload)); const response = request.execute(); ss.info(JSON.parse(response.getBody()).data.auth_key); // Info: 5WvOT9Ejlxd6Gb8bkCWMtG3XXMYcoDDJ |
setRequestUrl(requestUrl)
Используйте данный метод, чтобы задать URL-адрес запроса. Чтобы получить URL-адрес запроса, используйте метод Sets the request URL. To get a request URL, use the getRequestUrl() method.
Parameter(s)Параметры:
NameНазвание | TypeТип | Mandatory | Обязательный | Значение по умолчаниюDefault Value |
---|---|---|---|---|
requestUrl | String | YДа | NНет |
ReturnВозвращаемое значение:
TypeТип | DescriptionОписание |
---|---|
Void | This method does not return a valueДанный метод не возвращает значение. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const request = sws.restRequestV1(); request.setRequestUrl('https://instance.example.com/v1/ajax-script/run'); ss.info(request.getRequestUrl()); // Info: https://instance.example.com/v1/ajax-script/run |
setRequestMethod(methodName)
Sets the requesting method (GET, POST, PURGE, etc). Specify the method name within the methodName parameter. To get the method name, use the getRequestMethod() method.
Parameter(s)Параметры:
NameНазвание | TypeТип | Mandatory | Обязательный | Значение по умолчаниюDefault Value |
---|---|---|---|---|
methodName | String | YДа | NНет |
ReturnВозвращаемое значение:
TypeТип | DescriptionОписание |
---|---|
Void | This method does not return a valueДанный метод не возвращает значение. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const request = sws.restRequestV1(); request.setRequestUrl('https://instance.example.com/v1/ajax-script/run'); request.setRequestMethod('POST'); ss.info(request.getRequestUrl()); ss.info(request.getRequestMethod()); // Info: https://instance.example.com/v1/ajax-script/run // Info: POST |
setRequestTimeout(timeout)
Sets the response timeout (in seconds) until the request is out of time.
Parameter(s)Параметры:
Name | Type | Mandatory | Обязательный | Значение по умолчаниюDefault Value |
---|---|---|---|---|
timeout | Integer | Y | 60 |
ReturnВозвращаемое значение:
Type | DescriptionОписание |
---|---|
Void | This method does not return a valueДанный метод не возвращает значение. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const request = sws.restRequestV1(); request.setRequestUrl('https://instance.example.com/v1/ajax-script/run'); request.setRequestMethod('GET'); request.setRequestTimeout(60); const response = request.execute(); |
setQueryParameter(name, value)
Adds a parameter into the end of the request URL generated as "name=value".
Parameter(s)Параметры:
Name | Type | Mandatory | Обязательный | Значение по умолчаниюDefault Value |
---|---|---|---|---|
name | String | Y | N | |
value | String | Y | N |
ReturnВозвращаемое значение:
Type | DescriptionОписание |
---|---|
Void | This method does not return a valueДанный метод не возвращает значение. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const request = sws.restRequestV1(); request.setRequestUrl('https://instance.example.com/rest/v1/table/user'); request.setRequestMethod('GET'); request.setRequestHeader('Authorization', 'Bearer ' + new SimpleUser().getAccessToken()); request.setQueryParameter('sysparm_query', 'active=true^emailLIKEyours^ORDERBYDESCcompany'); const url = request.getRequestUrl(); ss.info(url); // Info: https://instance.example.com/rest/v1/table/user?sysparm_query=active%3Dtrue%5EemailLIKEyours%5EORDERBYDESCcompany |
setRequestBody(body)
Sets the request body when the PUT or POST methods are used. To get the request body, use the GET method.
Parameter(s)Параметры:
Name | Type | Mandatory | Обязательный | Значение по умолчаниюDefault Value |
---|---|---|---|---|
body | String | Y | N |
ReturnВозвращаемое значение:
Type | DescriptionОписание |
---|---|
Void | This method does not return a valueДанный метод не возвращает значение. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const recordURL = ss.getProperty('simple.instance.uri') + '/record/' + current.getTableName() + '/' + current.sys_id; const dataJSON = { 'text': `New Request has been assigned to DevOps Team <${recordURL}|View Request>` }; const request = sws.restRequestV1('DevOps Team Request', 'send_message_to_channel'); request.setRequestBody(JSON.stringify(dataJSON)); const response = request.execute(); |
setStringParameter(name, value)
Sets the request variable with the name specified from the record to the value specified.
Parameter(s)Параметры:
Name | Type | Mandatory | Обязательный | Значение по умолчаниюDefault Value |
---|---|---|---|---|
name | String | Y | N | |
value | String | Y | N |
ReturnВозвращаемое значение:
Type | DescriptionОписание |
---|---|
Void | This method does not return a valueДанный метод не возвращает значение. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
/* Create the 'Telegram' request in REST Requests (sys_rest_requests) table and the 'Send Message' method in REST Request Methods (sys_rest_request_method) table related with 'Telegram' request. Also create 'chat_id' and 'text' Rest Request Method Param (sys_rest_request_method_param) related with 'Send Message' method */ const request = sws.restRequestV1('Telegram', 'Send Message'); request.setStringParameter('chat_id', '123456789'); request.setStringParameter('text', 'telegram'); const response = request.execute(); |
setRequestHeader(name, value)
Sets the HTTP header in the request with the value specified. To get request headers, use the getRequestHeaders() method.
Parameter(s)Параметры:
Name | Type | Mandatory | Обязательный | Значение по умолчаниюDefault Value |
---|---|---|---|---|
name | String | Y | N | |
value | String | Y | N |
ReturnВозвращаемое значение:
Type | DescriptionОписание |
---|---|
Void | This method does not return a valueДанный метод не возвращает значение. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const scriptJSON = { 'script': 'ss.info(new SimpleDateTime().getValue())' } const request = sws.restRequestV1(); request.setRequestUrl('https://instance.example.com/v1/ajax-script/run'); request.setRequestMethod('POST'); request.setBasicAuth('username', 'password'); request.setRequestBody(JSON.stringify(scriptJSON)); request.setRequestHeader('Content-type', 'application/json'); const response = request.execute(); |
getRequestUrl()
Displays the request URL with parameters. To set a request URL, use thesetRequestUrl(requestUrl) method.
ReturnВозвращаемое значение:
Type | DescriptionОписание |
---|---|
String | The request URL. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const request = sws.restRequestV1(); request.setRequestUrl(ss.getProperty('simple.instance.uri') + '/v1/ajax-script/run'); const url = request.getRequestUrl(); ss.info(url); // Info: https://your-instance-url/v1/ajax-script/run |
getRequestBody()
Returns the request body. To set a request body, use the setRequestBody(body) method.
ReturnВозвращаемое значение:
Type | DescriptionОписание |
---|---|
String | The request body. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const recordURL = ss.getProperty('simple.instance.uri') + '/record/' + current.getTableName() + '/' + current.sys_id; const dataJSON = { 'text': `New Request has been assigned to DevOps Team <${recordURL}|View Request>` }; const request = sws.restRequestV1('DevOps Team Request', 'send_message_to_channel'); request.setRequestBody(JSON.stringify(dataJSON)); request.execute(); const body = request.getRequestBody(); ss.info(body); //Info: {"text":"New Request has been assigned to DevOps Team <https://your-instance-url.simpleone.ru\/record\/task\/161123123123123123|View Request>"} |
getRequestHeaders()
Returns all request headers. To set request headers, use the setRequestHeader(name, value) method.
ReturnВозвращаемое значение:
Type | DescriptionОписание |
---|---|
Array | The requested headers. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const request = sws.restRequestV1(); request.setRequestHeader('Content-type', 'application/json'); const header = request.getRequestHeaders(); ss.info(header); // Info: {"content-type":["application\/json"]} |
getRequestMethod()
Returns the request method. To set the request method, use the setRequestMethod(methodName) method.
ReturnВозвращаемое значение:
Type | DescriptionОписание |
---|---|
String | The method name. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const request = sws.restRequestV1(); request.setRequestMethod('GET'); const method = request.getRequestMethod(); ss.info(method); //Info: GET |
useHttp2(value)
This method makes it obligaroty to use the HTTP/2 protocol.
Note |
---|
Using this methods requires the host that also supports the HTTP/2 protocol. |
Parameter(s)Параметры:
Name | Type | Mandatory | Обязательный | Значение по умолчаниюDefault Value |
---|---|---|---|---|
value | boolean | N | true |
ReturnВозвращаемое значение:
Type | DescriptionОписание |
---|---|
Void | This method does not return a valueДанный метод не возвращает значение. |
ExampleПример:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
const request = sws.restRequestV1(); request.setRequestUrl('https://http2.pro/api/v1'); request.setRequestMethod('GET'); request.useHttp2(); const response = request.execute(); |
To disable the usage of HTTP/2, you need to call the method passing the false parameter.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
request.useHttp2(false); |
Table of Contents | ||||
---|---|---|---|---|
|