diff --git a/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/GlideRecordHelper.js b/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/GlideRecordHelper.js new file mode 100644 index 0000000000..d37a196c0e --- /dev/null +++ b/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/GlideRecordHelper.js @@ -0,0 +1,31 @@ +var GlideRecordHelper = Class.create(); +GlideRecordHelper.prototype = { + initialize: function(tableName) { + if (!tableName) { + throw new Error("Table name is required."); + } + this.tableName = tableName; + }, + + getRecords: function(queryObj) { + var gr = new GlideRecord(this.tableName); + if (!gr.isValid()) { + throw new Error("Invalid table name: " + this.tableName); + } + + for (var key in queryObj) { + if (queryObj.hasOwnProperty(key)) { + gr.addQuery(key, queryObj[key]); + } + } + + gr.query(); + var results = []; + while (gr.next()) { + results.push(gr); + } + return results; + }, + + type: 'GlideRecordHelper' +}; diff --git a/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/README.md b/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/README.md new file mode 100644 index 0000000000..901eb7b8b0 --- /dev/null +++ b/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/README.md @@ -0,0 +1,42 @@ +# GlideRecordHelper for ServiceNow + +A simple utility class to help ServiceNow developers query records using GlideRecord with cleaner syntax. + +## How to Use + + +var helper = new GlideRecordHelper('incident'); +var records = helper.getRecords({ priority: 1, active: true }); + +records.forEach(function(record) { + gs.info(record.number); +}); + +input: + +var helper = new GlideRecordHelper('incident'); +var records = helper.getRecords({ priority: 1, active: true }); + +records.forEach(function(record) { +gs.info(record.number); +}); + +Output: + +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055