Change the REST_message_record text from the examples below to the record name of your REST messageThis This server class allows operating with the REST API methods and parameters.
Tip |
---|
.
Tip |
---|
To know more about the sws object, please refer to the SimpleWS article. |
SimpleRestRequest()
Initialises Initializes an empty SimpleRestRequest objectSimpleRestRequest object. When using such object, specify the method and the endpoint manually.
SimpleRestRequest(requestName, methodName)
This method is intended to create an object used in the REST requests. When using, an object is created with the sws prefix (see the code example below for clarification).
Parameter(s):
Name | Type | Mandatory | Default Value |
---|
requestName | String | N | ''N |
methodName | String | N'' | N |
Info |
---|
Provide values to parameters as shown below: Parameter | Value |
---|
requestName | Specify the value of the Name field taken from the record in the REST Requests (sys_rest_requests) table. | methodName | Specify the value of the Name field taken from the record in the REST Request Methods (sys_rest_request_method) table related with this request. |
|
Return:
Type | Description |
---|
SimpleRestRequest object | This method returns a a SimpleRestRequest object object initiated by the query transmitted; otherwise, it returns empty empty SimpleRestRequest object object. |
Example:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | SimpleRestRequestApi |
---|
linenumbers | true |
---|
|
/* 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
*/
constlet request = sws.restRequestV1();
// OR
let request = sws.restRequestV1('Telegram'Customer, Requests Notifier'Send Message');
request.setStringParameter('chat_id', 'send.direct.message'123456789');
request.setStringParameter('text', 'telegram');
//const 'Customerresponse Requests Notifier' - name of sys_rest_request
// 'send.direct.message' - name of sys_rest_request_method= 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(); |
execute()
Sends the REST request.
Return:
Type | Description |
---|
SimpleRestResponseResponse | to the message sent by the execute() methodThis method returns a SimpleRestResponse object. |
Example:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | execute |
---|
linenumbers | true |
---|
|
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 web-service auth if the basic auth type 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 |
---|
language | js |
---|
theme | Eclipse |
---|
title | setBasicAuth |
---|
linenumbers | true |
---|
|
const scriptJSON = {
"'script"': "'ss.info(new SimpleDateTime().getValue())"'
}
const request = sws.restRequestV1();
request.setRequestUrl('https://your-instance-urlss.getProperty('simple.instance.uri') + '/v1/ajax-script/run');
request.setRequestMethod('POST');
request.setBasicAuth('admin', 'password');
request.setRequestBody(JSON.stringify(scriptJSON));
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 user login and password. The code uses example data for the the setRequestUrl() method and the payload constant. Replace it with the productive data before usage.
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Auth method |
---|
linenumbers | true |
---|
|
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)
Sets the request URL. To get 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 |
---|
language | js |
---|
theme | Eclipse |
---|
title | setRequestUrl |
---|
linenumbers | true |
---|
|
const request = sws.restRequestV1();
request.setRequestUrl('https://your-instance-urlinstance.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). Accepts Specify the requesting 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 |
---|
language | js |
---|
theme | Eclipse |
---|
title | setRequestMethod |
---|
linenumbers | true |
---|
|
const request = sws.restRequestV1();
request.setRequestUrl('https://your-instance-urlinstance.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 | N |
Return:
Type | Description |
---|
Void | This method does not return a value. |
Example:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | setRequestTimeout |
---|
linenumbers | true |
---|
|
const request = sws.restRequestV1();
request.setRequestUrl(`https'https://jsonplaceholderinstance.typicodeexample.com/v1/todos/1`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 |
---|
language | js |
---|
theme | Eclipse |
---|
title | setQueryParameter |
---|
linenumbers | true |
---|
|
const smrequest = new sws.restRequestV1('REST_message_record', 'get);
request.setRequestUrl('https://instance.example.com/rest/v1/table/user');
request.setRequestMethod('GET');
request.setRequestHeader('Authorization', 'Bearer ' + smnew SimpleUser().getAccessToken());
request.setQueryParameter('sysparm_query', 'active=true^ORDERBYDESCcategory');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 used PUT or POST methods. To get the request body, use the 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 |
---|
language | js |
---|
theme | Eclipse |
---|
title | setRequestBody |
---|
linenumbers | true |
---|
|
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 |
---|
language | js |
---|
theme | Eclipse |
---|
title | setStringParameter |
---|
linenumbers | true |
---|
|
/* 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();const sm = new sws.RestRequest('<REST_request_record>','get');
sm.setStringParameter('s','NOW'); |
Sets the HTTP header in the request for 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 |
---|
language | js |
---|
theme | Eclipse |
---|
title | setRequestHeader |
---|
linenumbers | true |
---|
|
const scriptJSON = {
"'script"': "'ss.info(new SimpleDateTime().getValue())"'
}
const request = sws.restRequestV1();
request.setRequestUrl('https://your-instance-urlinstance.example.com/v1/ajax-script/run');
request.setRequestMethod('POST');
request.setBasicAuth('adminusername', '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 request URL, use the setRequestUrl(requestUrl) method.
Return:
Type | Description |
---|
String | The request URlURL. |
Example:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getRequestUrl |
---|
linenumbers | true |
---|
|
const smrequest = new sws.restRequestV1('REST_message_record', 'get();
request.setRequestUrl(ss.getProperty('simple.instance.uri') + '/v1/ajax-script/run');
const url = smrequest.getRequestUrl();
ss.info(url);
// Info: https://your-instance-url/v1/ajax-script/run |
getRequestBody()
Returns the request body. To set request body, use the setRequestBody(body) method.
Return:
Type | Description |
---|
String | The request body. |
Example:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getRequestBody |
---|
linenumbers | true |
---|
|
const sm = new 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('REST_message_recordDevOps Team Request', 'get'send_message_to_channel');
request.setRequestBody(JSON.stringify(dataJSON));
request.execute();
letconst body = smrequest.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>"} |
Returns all the requested headersrequest headers. To set request headers, use the setRequestHeader(name, value) method.
Return:
Type | Description |
---|
Array | The requested headers. |
Example:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getRequestHeaders |
---|
linenumbers | true |
---|
|
const smrequest = new sws.restRequestV1('REST_message_record);
request.setRequestHeader('Content-type', 'getapplication/json');
const headersheader = smrequest.getRequestHeaders();
ss.info(header);
// Info: {"content-type":["application\/json"]} |
getRequestMethod()
Returns the requesting methodrequest method. To set the request method, use the setRequestMethod(methodName) method.
Return:
Type | Description |
---|
String | The method name. |
Example:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getRequestMethod |
---|
linenumbers | true |
---|
|
const smrequest = new sws.restRequestV1('REST_message_record', 'get);
request.setRequestMethod('GET');
const method = smrequest.getRequestMethod();
ss.info(method);
//Info: GET |