eBonding Between Two ServiceNow Instances

Hafeeza_Shaik
Tera Contributor

Building Connection Between the Instances

 

  • Navigate to System Web Services > Outbound > REST Message in your source instance.
  • Create a new REST Message and set the Endpoint to the target instance base URL (e.g., https://XXXXXXX.service-now.com).
  • This is only the instance URL, not the API endpoint.
  • Under Authentication Type, select Basic and provide credentials of a user who has access to the target instance.

Hafeeza_Shaik_0-1757663893627.png

 

 


2. Creating an Incident

 

In the Content field, define the request body with variables:

{
"short_description": "${short_description}",
"caller_id": "${caller_id}",
"contact": "${contact}",
"impact": "${impact}",
"urgency": "${urgency}",
"category": "${category}"
}

Click Auto-generate variables so the variables (short_description, tableName,caller_id, contact, impact, urgency, category) are created automatically.

 

Hafeeza_Shaik_1-1757663914316.png

 

 

  • Create a Business Rule on the Incident table (on Insert) to pass these variables to the REST Message:

 

(function executeRule(current, previous /*null when async*/ ) {


var tableName = current.getTableName();
var incident = new sn_ws.RESTMessageV2('ServiceNow Ebonding', 'Create an Incident');
incident.setStringParameterNoEscape("tableName", tableName);
incident.setStringParameterNoEscape("short_description", current.short_description);
incident.setStringParameterNoEscape("caller_id", current.caller_id);
incident.setStringParameterNoEscape("contact", current.contact);
incident.setStringParameterNoEscape("impact", current.impact);
incident.setStringParameterNoEscape("urgency", current.urgency);
incident.setStringParameterNoEscape("category", current.category);

 

var response = incident.execute();
var responseBody = response.getBody();

var responseObj = JSON.parse(responseBody);


if (responseObj.result && responseObj.result.number) {
current.correlation_id = responseObj.result.number;
current.u_incident_number = responseObj.result.sys_id;
current.update();
}


})(current, previous);

 

 

3. Updating Comments on Incident

 

In the Content field, define the request body:

{
"comments": "${comments}"
}

Click Auto-generate variables so the comments,tableName,sys_id variable is available.

 

Hafeeza_Shaik_2-1757663929548.png

 

 

  • Create a Business Rule on the Incident table (on Update when comments change) to pass the variable to the REST Message:

(function executeRule(current, previous /*null when async*/ ) {


var incidentNumber = current.correlation_id;
var latestComment = current.comments.getJournalEntry(1);
var comments = latestComment.replace(/\r?\n|\r/g, ' ');
gs.info("Latest Comment: " + latestComment);

var tableName = current.getTableName();


var incident = new sn_ws.RESTMessageV2('ServiceNow Ebonding', 'Update Incident');
incident.setStringParameterNoEscape('tableName', tableName);
incident.setStringParameterNoEscape('sys_id', current.u_incident_number);
incident.setStringParameterNoEscape('comments', comments);

 

var response = incident.execute();
var responseBody = response.getBody();
var httpStatus = response.getStatusCode();
gs.info("Response Status: " + httpStatus);
gs.info("Response Body: " + responseBody);


})(current, previous);

0 REPLIES 0