Skip to content

Commit

Permalink
Add code snippet to backup Critical Table Data (#1581)
Browse files Browse the repository at this point in the history
* Add code snippet to backup Critical Table Data

* update README description
  • Loading branch information
wendy-ha18 authored Oct 31, 2024
1 parent ccbd725 commit 271b1d6
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
12 changes: 12 additions & 0 deletions Business Rules/Backup Critical Table Data/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Overview
This ServiceNow script automates backing up critical record data (such as task or incident records) to an external storage solution. Designed to run as a Business Rule, it helps maintain redundancy for sensitive information by copying specific record details to a backup API whenever a record is created or modified.

# How It Works
- Data Extraction: Collects key record fields (such as `sys_id`, `number`, `short_description`) from `current`.
- API Call: Sends a `POST` request with record data to an external backup endpoint.
- Logging: Outputs API response for monitoring.

# Implementation
1. Update the `setEndpoint` URL to match your backup API endpoint.
2. Modify the `recordData` with table data structure as needed.
3. Ensure the Business Rule is triggered on the appropriate conditions (e.g., on record insert/update) in the target table.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// Script to back up critical table data to external storage
(function executeRule(current, previous /*null when async*/) {
var recordData = {
sys_id: current.sys_id.toString(),
number: current.number.toString(),
short_description: current.short_description.toString()
};

// Call external API to store data
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('https://your-backup-api.com/backup');
request.setHttpMethod('POST');
request.setRequestBody(JSON.stringify(recordData));

var response = request.execute();
gs.info("Backup response: " + response.getBody());
})(current, previous);

0 comments on commit 271b1d6

Please sign in to comment.