ServiceNow's GlideRecord is a powerful API used for database operations. It enables developers to query, insert, update, and delete records within ServiceNow tables efficiently.
Most common GlideRecord Methods
1. query(): Executes the query defined by addQuery() or addEncodedQuery().
This method runs the query set by `addQuery()` or `addEncodedQuery()` and retrieves records from the database.
var gr = new GlideRecord('incident');
gr.addQuery('priority', 1);
gr.query();
while (gr.next()) {
gs.info(gr.number);
}
2. newRecord(): Creates a new record in the specified table.
It initializes a new record in memory but does not insert it into the database until `insert()` is called.
var gr = new GlideRecord('incident');
gr.newRecord();
gr.short_description = 'New incident created';
gr.insert();
3. insert(): Inserts the current record into the database.
Used after `newRecord()` to save the record permanently.
var gr = new GlideRecord('incident');
gr.newRecord();
gr.short_description = 'Inserted incident';
gr.insert();
4. update(): Updates the current record in the database.
Used when modifying existing records.
var gr = new GlideRecord('incident');
if (gr.get('number', 'INC0010001')) {
gr.short_description = 'Updated description';
gr.update();
}
5. deleteRecord(): Deletes the current record from the database.
Removes the record permanently if found.
var gr = new GlideRecord('incident');
if (gr.get('number', 'INC0010001')) {
gr.deleteRecord();
}
6. addQuery(): Adds a query condition to the GlideRecord query.
Used to filter records based on field values.
var gr = new GlideRecord('incident');
gr.addQuery('priority', 1);
gr.query();
7. addEncodedQuery(): Adds an encoded query to the GlideRecord query.
Encoded queries provide a compact way to filter records with multiple conditions.
var gr = new GlideRecord('incident');
gr.addEncodedQuery('priority=1^active=true');
gr.query();
8. next(): Moves to the next record in the GlideRecord result set.
Used in loops to iterate through query results.
var gr = new GlideRecord('incident');
gr.query();
while (gr.next()) {
gs.info(gr.number);
}
9. hasNext(): Checks if more records are available in the result set.
Useful for validating if records exist before looping.
var gr = new GlideRecord('incident');
gr.query();
if (gr.hasNext()) {
gs.info('There are more incidents.');
}
10. get(): Retrieves a record by sys\_id or key field value.
Fetches a single record that matches the given condition.
var gr = new GlideRecord('incident');
if (gr.get('sys_id', 'abc123')) {
gs.info(gr.short_description);
}
11. orderBy(): Sorts the results in ascending order based on a specified field.
It helps retrieve records in a specific order.
var gr = new GlideRecord('incident');
gr.orderBy('priority');
gr.query();
12. orderByDesc(): Sorts the results in descending order based on a specified field.
Used for sorting results in reverse order.
var gr = new GlideRecord('incident');
gr.orderByDesc('priority');
gr.query();
13. canCreate(): Checks if the user has permission to create a record.
Ensures security compliance before creating a new record.
var gr = new GlideRecord('incident');
if (gr.canCreate()) {
gs.info('User can create records.');
}
14. canWrite(): Checks if the user has permission to update a record.
Prevents unauthorized modifications.
var gr = new GlideRecord('incident');
if (gr.canWrite()) {
gs.info('User can update records.');
}
15. canRead(): Checks if the user has permission to read a record.
Ensures that only authorized users can access the data.
var gr = new GlideRecord('incident');
if (gr.canRead()) {
gs.info('User can read records.');
}
16. canDelete(): Checks if the user has permission to delete a record.
Prevents accidental or unauthorized deletion.
var gr = new GlideRecord('incident');
if (gr.canDelete()) {
gs.info('User can delete records.');
}
These methods allow ServiceNow developers to efficiently interact with and manipulate data within the platform, ensuring smooth and effective application development. Goodbye until next time.