What is the meaning of StatusCode 500 in integration
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-16-2023 01:19 AM
I have done one servicenow to servicenow integration.
When i am updating the worknote in my side instance then it should send those to another instase but i checked getting update status code as 500, please suggest why ib am getting that.
Below is my script.
(function executeRule(current, previous /*null when async*/ ) {
if (current.u_external_ticket_no == '') {
try {
var rInsert = new sn_ws.RESTMessageV2('Ultima', 'Create Incident');
//override authentication profile
//authentication type ='basic'/ 'oauth2'
//r.setAuthenticationProfile(authentication type, profile name);
//set a MID server name if one wants to run the message on MID
//r.setMIDServer('MY_MID_SERVER');
//if the message is configured to communicate through ECC queue, either
//by setting a MID server or calling executeAsync, one needs to set skip_sensor
//to true. Otherwise, one may get an intermittent error that the response body is null
//r.setEccParameter('skip_sensor', true);
var descbody = current.description;
descbody = descbody.replace(/(\r\n|\n|\r|\\n)/gm, "");
descbody = JSON.stringify(descbody);
descbody = descbody.replace(/"/g, "'");
descbody = descbody.replace(/\\/g, "\\\\");
var shortDesc = current.short_description;
shortDesc = shortDesc.replace(/(\r\n|\n|\r|\\n)/gm, "");
shortDesc = JSON.stringify(shortDesc);
shortDesc = shortDesc.replace(/"/g, "'");
shortDesc = shortDesc.replace(/\\/g, "\\\\");
rInsert.setStringParameterNoEscape('short_description', shortDesc);
rInsert.setStringParameterNoEscape('description', descbody);
rInsert.setStringParameterNoEscape('caller_id', 'Costa_API_user');
rInsert.setStringParameterNoEscape('impact', current.impact);
rInsert.setStringParameterNoEscape('urgency', current.urgency);
rInsert.setStringParameterNoEscape('state', 1);
rInsert.setStringParameterNoEscape('contact_type', 'Integration');
rInsert.setStringParameterNoEscape('category', '910'); // cloud
rInsert.setStringParameterNoEscape('subcategory', '1015'); // virtual
rInsert.setStringParameterNoEscape('u_customer_reference', current.number);
var insertResponse = rInsert.execute();
var insertResponseBody = insertResponse.getBody();
var insertHttpStatus = insertResponse.getStatusCode();
var parsedData = JSON.parse(insertResponseBody);
gs.log(parsedData.result.number + " Ultima Incident creation response : " + insertResponseBody, 'UltimaINCInsert');
current.u_external_ticket_no = parsedData.result.number;
current.state =11;
current.update();
} catch (ex) {
var message = ex.message;
}
} else {
try {
var rUpdate = new sn_ws.RESTMessageV2('Ultima', 'Update Incident');
//override authentication profile
//authentication type ='basic'/ 'oauth2'
//r.setAuthenticationProfile(authentication type, profile name);
//set a MID server name if one wants to run the message on MID
//r.setMIDServer('MY_MID_SERVER');
//if the message is configured to communicate through ECC queue, either
//by setting a MID server or calling executeAsync, one needs to set skip_sensor
//to true. Otherwise, one may get an intermittent error that the response body is null
//r.setEccParameter('skip_sensor', true);
var req = '{"u_customer_reference":"' + current.number + '"';
if (current.impact.changes())
req = req + ',"impact":"' + current.impact + '"';
if (current.urgency.changes())
req = req + ',"urgency":"' + current.urgency + '"';
if (current.work_notes.changes()) {
var workNotes = current.work_notes.getJournalEntry(1);
workNotes = workNotes.replace(/(\r\n|\n|\r|\\n)/gm, "");
workNotes = JSON.stringify(workNotes);
workNotes = workNotes.replace(/"/g, "'");
workNotes = workNotes.replace(/\\/g, "\\\\");
req = req + ',"work_notes":"' + workNotes + '"';
}
if (current.comments.changes()) {
var comment = current.comments.getJournalEntry(1);
comment = comment.replace(/(\r\n|\n|\r|\\n)/gm, "");
comment = JSON.stringify(comment);
comment = comment.replace(/"/g, "");
comment = comment.replace(/\\/g, "\\\\");
req = req + ',"comments":"' + comment + '"';
}
if (current.assignment_group.changes()) {
if (current.assignment_group == 'e8c3483c1b118510f48c65f7b04bcb0d') { // Ultima support group
req = req + ',"assignment_group":"' + 'd934315d1b4a2300ab0887fe6e4bcbf5' + '"'; // ultima servicedesk 24*7
}
// else {
// req = req + ',"state":"' + '8' + '","close_code":"' + 'Cancelled' + '","close_notes":"' + 'Cancelled as reassigned' + '"'; // resolved with cancel code in IBM
}
if (current.state.changes()) {
if (current.state.changesTo('2')) { // In Progress
req = req + ',"state":"' + '2' + '"';
}
// else if (current.state.changesTo('10')) { //Awaiting User Information
// req = req + ',"state":"' + '3' + '","on_hold_reason":"' + '1' + '"';
// } else if (current.state.changesTo('11')) { //Awaiting Vendor Information
// req = req + ',"state":"' + '3' + '","on_hold_reason":"' + '4' + '"';
// } else if (current.state.changesTo('12')) { //Change implementation in-progress
// req = req + ',"state":"' + '3' + '","on_hold_reason":"' + '5' + '"';
// }
else if (current.state.changesTo('6')) { // resolved
var closeNotes = current.close_notes;
closeNotes = closeNotes.replace(/(\r\n|\n|\r|\\n)/gm, "");
closeNotes = JSON.stringify(closeNotes);
closeNotes = closeNotes.replace(/"/g, "'");
closeNotes = closeNotes.replace(/\\/g, "\\\\");
var close_code = current.close_code;
if (close_code == 'Solved (Work Around)' || close_code == 'Solved (Permanently)' || close_code == 'Solved Remotely (Work Around)' || close_code == 'Solved Remotely (Permanently)') {
close_code = 'Fix Implemented';
} else if (close_code == 'Closed/Resolved by Caller') {
close_code = 'Resolved by user';
} else {
close_code = 'Unable to Identify/Resolve';
}
req = req + ',"state":"' + '6' + '","close_code":"' + close_code + '","close_notes":"' + closeNotes + '"';
} else if (current.state.changesTo('7')) { // closed
req = req + ',"state":"' + '7' + '"';
} else if (current.state.changesTo('8')) { // cancelled
req = req + ',"state":"' + '8' + '"';
} else if (current.state.changesTo('13')) { //reopened
req = req + ',"state":"' + '2' + '","work_notes":"' + 'Reopened' + '"';
} else {
gs.log(current.state + " state update is not in scope", 'ultimaINCUpdate');
}
}
req = req + '}';
gs.log("Update req body " + req, 'ultimaINCUpdate');
rUpdate.setStringParameterNoEscape('request', req);
var updateResponse = rUpdate.execute();
var updateResponseBody = updateResponse.getBody();
var updateHttpStatus = updateResponse.getStatusCode();
gs.log(" Ultima Incident update response : " + updateResponseBody, 'ultimaINCUpdate');
} catch (ex) {
var message = ex.message;
}
}
})(current, previous);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2023 12:56 AM
After removing the wingle it it did not work at all, so fir now i made some changes there but now getting error 404, not sure now if 3rd party needs to check somthing from there end or not
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-18-2023 10:26 AM
Check the integration configuration: Verify that you have correctly configured the integration between your two ServiceNow instances. Make sure you have provided the correct endpoint URL, authentication credentials, and any required headers or parameters.
Review the server-side code: Double-check the code on the receiving instance (the instance you are sending the work note to). Ensure that the REST API endpoint you are calling exists and is properly implemented. Look for any potential errors or exceptions in the code that could be causing the server error.
Examine the error response: When you receive a status code 500, the server should provide an error response with more details about the issue. Inspect the response body or logs to see if there are any specific error messages or stack traces that can help identify the problem. It's possible that the error lies in the server-side implementation, and the error message can provide valuable insights.