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-16-2023 07:00 AM
Hi Vikas,
Status code 500 usually returned if there is an error while executing the scripts on target system. I would suggest that you apply some logs in your code, it will help you identify the faulty code. You can use updateResponse.getErrorMessage() to get the exact error message.
Please mark correct if this helps you.
Regards,
Prashant
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-16-2023 10:30 PM
As suggested by you i put one log there to check the error and i got the below mentioned error.
Method failed: (/api/x_ulbs_costa_snow/incident) with code: 500
I have 2 API in the rest message one is "create incident" and another one is "update incident", create one is already working fine with the same URL then why update one is showing this error of the url that i am using
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2023 12:58 AM
Hi Vikas,
You need to check the Scripted Rest API which you would have created on the target instance. The error is at /api/x_ulbs_costa_snow/incident Scripted Rest API. Please add logs there to debug the issue. you can use Rest API explorer to trigger some tests on the target instance.
Regards,
Prashant
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2023 01:38 AM
Are you sure that it is the issue with there URL and from there side only, and i need to check nothing from my side