You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 27 Next »

 This server class allows operating with the REST API methods and parameters.

SimpleRestRequest()


Initializes an empty SimpleRestRequest 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):

NameTypeMandatoryDefault Value
requestNameStringNN
methodNameStringNN


Provide values to parameters as shown below:

ParameterValue
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:

TypeDescription
SimpleRestRequest objectThis method returns a SimpleRestRequest object initiated by the query transmitted; otherwise, it returns empty SimpleRestRequest object.


Example:

SimpleRestRequestApi
/* 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();

execute()


Sends the REST request.


Return:

TypeDescription
SimpleRestResponseThis method returns a SimpleRestResponse object.


Example:

execute
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 authentication type was chosen. 


Parameter(s):

NameTypeMandatoryDefault Value
userNameStringYN
userPasswordStringYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

setBasicAuth
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 user login and password. The code uses example data for the the setRequestUrl(requestUrl) method and the payload constant. Replace it with the productive data before usage.

Auth method
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):

NameTypeMandatoryDefault Value
requestUrlStringYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

setRequestUrl
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):

NameTypeMandatoryDefault Value
methodNameStringYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

setRequestMethod
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):

NameTypeMandatoryDefault Value
timeoutIntegerY60


Return:

TypeDescription
VoidThis method does not return a value.


Example:

setRequestTimeout
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):

NameTypeMandatoryDefault Value
nameStringYN
valueStringYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

setQueryParameter
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 used PUT or POST methods. To get the request body, use the  method.


Parameter(s):

NameTypeMandatoryDefault Value
bodyStringYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

setRequestBody
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):

NameTypeMandatoryDefault Value
nameStringYN
valueStringYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

setStringParameter
/* 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):

NameTypeMandatoryDefault Value
nameStringYN
valueStringYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

setRequestHeader
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 request URL, use the setRequestUrl(requestUrl) method.


Return:

TypeDescription
StringThe request URL.


Example:

getRequestUrl
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 request body, use the setRequestBody(body) method.


Return:

TypeDescription
StringThe request body.


Example:

getRequestBody
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:

TypeDescription
ArrayThe requested headers.


Example:

getRequestHeaders
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:

TypeDescription
StringThe method name.


Example:

getRequestMethod
const request = sws.restRequestV1();
request.setRequestMethod('GET');
const method = request.getRequestMethod();
ss.info(method);
//Info: GET

  • No labels