JavaScript client for serviceNow REST API
source link: https://www.tuicool.com/articles/hit/Mv2aim7
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
ServiceNOW-Client
A Javascript client for ServiceNOW REST API.
Installation
Run npm install servicenow-client
to install the package.
Basic Usage
const servicenowClient = require('servicenow-client'); servicenowClient = new servicenowClient('https://<INSTANCE>.service-now.com','<USERNAME>','<PASSWORD>'); servicenowClient.getSingleRecord('<TABLE_NAME>', <SYS_ID>, (res)=>{ console.log(res); });
Following request/response formats are supported:
- application/json (default)
- application/xml
- text/xml
To change the default format:
const servicenowClient = require('servicenow-client'); servicenowClient = new servicenowClient('https://<INSTANCE>.service-now.com','<USERNAME>','<PASSWORD>', 'application/xml', 'application/xml'); servicenowClient.getSingleRecord('<TABLE_NAME>', <SYS_ID>, (res)=>{ //Handle XML response console.log(res); });
Supported Actions
//returns JSON of record getSingleRecord('<TABLE_NAME>', '<SYS_ID>', callback); //returns sys_id of created record createRecord('<TABLE_NAME>', <JSON_RECORD_BODY>, callback); //returns true if success, false otherwise deleteSingleRecord('<TABLE_NAME>', '<SYS_ID_OF_RECORD_TO_BE_DELETED>', callback); //returns sys_id of updated record updateSingleRecord('<TABLE_NAME>', <JSON_RECORD_BODY> , '<SYS_ID_OF_RECORD_TO_BE_DELETED>', callback); //Returns JSON of list of record(s). Use query builder for building advanced serviceNOW encoded query getRecords('<TABLE_NAME>', '<ENCODED_QUERY>', callback); //returns count of records matching given query getRecordCount('<TABLE_NAME>', '<ENCODED_QUERY>', callback);
Example Usage of Above Actions
servicenowClient.getSingleRecord('<TABLE_NAME>', '<SYS_ID>', (res) => { //use response console.log(res); }); servicenowClient.createRecord('<TABLE_NAME>', {'endpoint': 'published'}, (res) => { //use response console.log(res); }); servicenowClient.deleteSingleRecord('<TABLE_NAME>', '<SYS_ID>', (res) => { //use response console.log(res); }); servicenowClient.updateSingleRecord('<TABLE_NAME>', <JSON_RECORD_BODY> ,'<SYS_ID>', (res) => { //use response console.log(res); }); servicenowClient.getRecords('<TABLE_NAME>', '<ENCODED_QUERY>', (res) => { //Use query builder to create encoded query //use response console.log(res); }); servicenowClient.getRecordCount('<TABLE_NAME>', '<ENCODED_QUERY>', (res) => { //Use query builder to create encoded query //use response console.log(res); })
Query Builder Example Usage
var queryBuilder = new QueryBuilder(); //Less than '<' var query = queryBuilder.field('sys_created_on').lessThan('2019-02-15 14:30:18'); //Less than using Date object var query = queryBuilder.field('sys_created_on').lessThan(moment(new Date()).subtract(1, 'days').toDate()); //Greater than using Moment object var query = queryBuilder.field('sys_created_on').lessThan(moment(new Date()).subtract(1, 'days')); //compound query using and, lessThan, greaterThan var query = queryBuilder.field('number').greaterThan('S').and().field('sys_created_on').lessThan(moment(new Date()).subtract(1, 'hours')); //Between two dates (both date and moment objects supported), numbers, Strings var query = queryBuilder.field('sys_created_on').between('2015-02-15 14:30:18', '2019-02-18 14:30:18'); var query = queryBuilder.field('risk_score').between(47, 52); var query = queryBuilder.field('number').between('A', 'Z'); //Empty String query var query = queryBuilder.field('description').isEmptyString(); //Example of 'IN' operator var query = queryBuilder.field('number').isOneOf(['INC0010122','INC0010120']); //Is anything operator var query = queryBuilder.field('number').isAnything(); //Contains operator var query = queryBuilder.field('number').contains('<YOUR_STRING>'); //Order ascending/descending var query = queryBuilder.field('number').contains('<YOUR_STRING>').or().contains('<OTHER_STRING>').orderAscending(); //Multiple conditions on a single field var query = queryBuilder.field('number').contains('<YOUR_STRING>').and().contains('<OTHER_STRING>').orderDescending(); //Ends with operator var query = queryBuilder.field('number').endsWith('<YOUR_STRING>'); //Does not contain var query = queryBuilder.field('number').doesNotContain('<YOUR_STRING>'); //equals var query = queryBuilder.field('number').equals('<YOUR_STRING>/<ARRAY>'); //isEmpty var query = queryBuilder.field('number').isEmpty(); //isNotEmpty var query = queryBuilder.field('number').isNotEmpty();
Recommend
-
55
Blazor is Microsoft’s latest Single Page Application (SPA) framework, which is C# based and renders to the browser HTML DOM. Blazor comes in two flavors: server-side and client-side rendering. This article focuses on clie...
-
16
基于AFNetworking2.0和ReactiveCocoa2.1的iOS REST Client 2014-01-05 在开发iOS App时经常会遇到跟后端REST API通信的情况。这就涉及到错误处理,NSDictionary与Model的映射,用户登录与登出,权限验证,Archive/...
-
17
How To Write A REST Client In Rust January 17, 2021 8145 words 41 min...
-
30
Azure REST APIs in VS Code with Thunder Client
-
6
Simple REST API clientHammerUI is a simple REST API client created in JavaFX. It can be used as a testing tool and also contains command line client for CI/CD integration.
-
9
在做Web应用开发的时候,经常需要测试Web接口,就需要一些客户端来发送HTTP请求到服务端。常用的客户端工具有Postman、curl等,经过多次使用,我觉得VSCode的REST Client还是非常好用的,介绍给大家。 它是VSCode的一个插件,要安装才能使用: 主...
-
5
Java High-Level REST Client Reading Time: 3 minutesElasticsearch is an open-source, highly scalable full-text search and analytics engine. Using this, you can easily store, search, and analyze a large amount of...
-
7
Lessons learned from buying, connecting, and operating domains Free Trial U...
-
5
How to build a JavaScript API client as a SaaS productA product-based JavaScript API client should be able to run in the browser, with direct front-end DOM access, as well as in...
-
8
A JavaScript API Client Can Be a SaaS Product. Find Out How.May 24th 2022 new story0
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK