- Use
getUniqueValueto get sys_id. - Use
newRecordinstead of instantiating to get a new record with default values. - Dot-walking on GlideRecord returns GlideElement, use
getRefRecordto get GlideRecord.
- Use
getBooleanValuefor boolean fields.
| // opens a new u_error_reporting record from an sc_task record | |
| function openOverlay(overlayID, overlayTitle, iframeURI, height, width) { | |
| // Instantiate the GlideOverlay | |
| // Note: GlideOverlay extends GlideBox, which contains the close() method | |
| var overlayWindow = new GlideOverlay({ | |
| id: overlayID, | |
| title: overlayTitle, | |
| iframe: iframeURI, | |
| allowOverflowX: true, | |
| closeOnEscape: true, |
| function stringifyGr(record) { | |
| var result = ["{"]; | |
| var multiline = false; | |
| for (var key in record) { | |
| if(record.hasOwnProperty(key)) { | |
| var value = record[key].toString(); | |
| switch (typeof value) { | |
| case "undefined": |
| /** | |
| * sample http request in servicenow using RESTMessageV2 server side api | |
| * tested running in ServiceNow Geneva Release as a background script in global scope | |
| */ | |
| (function sample_http_request() { | |
| try { | |
| var request = new sn_ws.RESTMessageV2(); | |
| request.setHttpMethod('get'); | |
| request.setEndpoint('https://api.myjson.com/bins/4j985'); | |
| #!/bin/bash | |
| # put your instance id here | |
| instance="dev######" | |
| # make sure your password doesn't have shell operators in it | |
| credentials="admin:password" | |
| while true; do | |
| entropy==$RANDOM | |
| outdata="{\"short_description\":\"Automated incident $entropy\"}" |
| (function(){ | |
| var text = ""; | |
| var printl = function(str){ | |
| text = text + str + '\n'; | |
| }; | |
| var println = function(str) { | |
| if(str){ | |
| text = text + str + '\n\n'; |
| // This is where we'll save the attachment | |
| var tablename = 'incident'; | |
| var recordSysId = '8d6353eac0a8016400d8a125ca14fc1f'; | |
| var filename = 'snlogo.png'; | |
| // Let's download the ServiceNow Logo | |
| var logoUrl = 'https://instance.service-now.com/images/logos/logo_service-now.png'; | |
| var request = new sn_ws.RESTMessageV2(); | |
| request.setHttpMethod('get'); | |
| request.setEndpoint(logoUrl); |
| // NOTE: this sample was run in a ServiceNow instance running release version Fuji Patch 4 | |
| (function sampleRequest() { | |
| try { | |
| var request = new sn_ws.RESTMessageV2(); | |
| request.setHttpMethod('get'); | |
| request.setEndpoint('https://rawgit.com/anonymous/f1c4664cafd6caf855fd/raw/f7ca3b022045e2c9f49dd2b453dea0cecc09888c/sample_json.json'); | |
| var response = request.execute(); | |
| var httpResponseStatus = response.getStatusCode(); |
Console output too chatty?
Set com.glide.util.Log.developer_filter = true to cut down on non-interactive console log entries such as scheduled workers. (Don't forget to remove it when you're done!)
Note: Fast! These don't need a database.