| Qore ServiceNowRestClient Module Reference 1.2

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
ServiceNowRestClient::ServiceNowRestClient Class Reference

this class provides the REST client API for communication with ServiceNow servers More...

Inheritance diagram for ServiceNowRestClient::ServiceNowRestClient:
[legend]

## Public Member Functions
| constructor (hash< auto > opts, *softbool do_not_connect)
| creates the object with the given options
string | getApi ()
| returns the ServiceNow REST API version currently in use

## Static Public Member Functions
static hash< auto > | getOptions (hash< auto > opts)
| returns options for ServiceNowRestClient::ServiceNowRestClient::constructor()

## Public Attributes
const | DefaultApiKeyHeader = "x-sn-apikey"
| Default API key header.
const | DefaultApiVersion = "now"
| Default API version.
const | OAuth2AuthUriPathSuffix = "/oauth_auth.do"
| OAuth2 auth URL.
const | OAuth2DefaultGrantType = "none"
| OAuth2 default grant type.
const | OAuth2TokenUriPathSuffix = "/oauth_token.do"
| OAuth2 token URI path suffix.
const | RequestUriPathPrefix = "/api/"
| Request URI path prefix.

## Protected Member Functions
hash< auto > | sendAndDecodeResponse (*data body, string m, string path, hash< auto > hdr, *reference< hash< auto > > info, *softbool decode_errors, *string assume_content_type, *string shdr, *code signer)
| sends the outgoing HTTP message and recodes the response to data

## Detailed Description

this class provides the REST client API for communication with ServiceNow servers

This class requires the following options for ServiceNow authentication and authorization to the target server:

- `username:` the ServiceNow username
- `password:` the ServiceNow password

To use an OAuth2 login, include the following options:

- `oauth2_client_id:` the OAuth2 client ID
- `oauth2_client_secret:` the OAuth2 client secret

## Member Function Documentation

## ◆ constructor()

ServiceNowRestClient::ServiceNowRestClient::constructor | ( | hash< auto > | opts,
|  | *softbool | do_not_connect )

creates the object with the given options

Example:
  ServiceNowRestClient rest({
  "url": "https://dev493922.service-now.com",
  "username": "admin",
  "password": "mypassword",
  });

Parameters

  opts | valid options are: `additional_methods:` Optional hash with more but not-HTTP-standardized methods to handle. It allows to create various HTTP extensions like e.g. WebDAV. The hash takes the method name as a key, and the value is a boolean True or False: indicating if the method requires a message body as well. Example: # add new HTTP methods for WebDAV. Both of them require body posting to the server {"additional_methods": {"PROPFIND": True, "MKCOL": True}} `api:` the API version for ServiceNow `oauth2_client_id:` (required) the OAuth2 client ID `oauth2_client_secret:` (required) the OAuth2 client secret `content_encoding:` for possible values, see EncodingSupport; this sets the send encoding (if the `"send_encoding"` option is not set) and the requested response encoding (note that the RestClient class will only compress outgoing message bodies over CompressionThreshold bytes in size) `data:` a data serialization option; if not present defaults to `"json"` `default_path:` The default path to use for new connections if a path is not otherwise specified in the connection URL `default_port:` The default port number to connect to if none is given in the URL `error_passthru:` if True then HTTP status codes indicating errors will not cause a `REST-RESPONSE-ERROR` exception to be raised, rather such responses will be passed through to the caller like any other response `headers:` an optional hash of headers to send with every request, these can also be overridden in request method calls `http_version:` Either '1.0' or '1.1' (default) for the claimed HTTP protocol version compliancy in outgoing message headers `max_redirects:` The maximum number of redirects before throwing an exception (the default is 5) `password:` (required) The ServiceNow password `proxy:` The proxy URL for connecting through a proxy `redirect_passthru:` if True then redirect responses will be passed to the caller instead of processed `send_encoding:` a send data encoding option or the value `"auto"` which means to use automatic encoding; if not present defaults to `"gzip"` content encoding on sent message bodies (note that the RestClient class will only compress outgoing message bodies over CompressionThreshold bytes in size) `timeout:` The timeout value in milliseconds (also can be a relative date-time value for clarity, ex: `30s`) `username:` (required) The ServiceNow username
  do_not_connect | if `False` (the default), then a connection will be immediately established to the remote server

Exceptions

  RESTCLIENT-ERROR | invalid option passed to constructor, unsupported data serialization, etc
  ServiceNowRESTCLIENT-ERROR | missing or invalid required option for REST authentication or communication

## ◆ getApi()

string ServiceNowRestClient::ServiceNowRestClient::getApi | ( |  | ) |

returns the ServiceNow REST API version currently in use

Returns
  the ServiceNow REST API version currently in use

## Member Data Documentation

## ◆ OAuth2DefaultGrantType

const ServiceNowRestClient::ServiceNowRestClient::OAuth2DefaultGrantType = "none"

OAuth2 default grant type.

Not using "authorization_code" for now as getting an OAuth2 client published requires an expensive partner program