Integration webex with servicenow
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2024 06:26 AM - edited 08-30-2024 06:30 AM
Hi all,
i am trying to integrate servicenow and webex i have created REST message and Scripted REST API and a script include to fetch incident details, when i sent request from REST API Explorer to test i have received incident details succesfully added screen shot below for reference.
i want to send this details to webex when incident details provided.
Providing both Scripted REST Resource and Script include scripts for references. Please help me on this and i am new to integration.
script include:
var webex_bot = Class.create();
webex_bot.prototype = {
initialize: function() {},
getIncDetails: function(number) {
var inc = "";
var gr = new GlideRecord("incident");
gr.addQuery("number", number);
gr.query();
if (gr.next()) {
inc = "Incident Number: " + number + "\n" +
"Short Description: " + gr.getValue("short_description") + "\n" +
"State: " + gr.getDisplayValue("state") + "\n" +
"Priority: " + gr.getDisplayValue("priority");
gs.info("Incident details found: " + inc); // Debugging line
} else {
inc = "Incident not found with number: " + number;
gs.info("Incident not found with number: " + number); // Debugging line
}
return inc;
},
type: 'webex_bot'
};
Scripted REST api
(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
try {
var requestBody = request.body.data;
gs.info("Request Body: " + JSON.stringify(requestBody));
// Extract the incident number
var incidentNumber = requestBody.incidentNumber;
if (!incidentNumber) {
response.setStatus(400); // Bad Request
response.setBody({ error: "Incident number not provided in the request." });
return;
}
// Example of retrieving incident details
var bot = new webex_bot();
var details = bot.getIncDetails(incidentNumber);
response.setStatus(200); // OK
response.setBody({ result: details });
} catch (ex) {
gs.error("Error processing request: " + ex.message);
response.setStatus(500); // Internal Server Error
response.setBody({ error: "Error processing request: " + ex.message });
}
})(request, response);
script usage of REST message:
try {
var r = new sn_ws.RESTMessageV2('WebexChat', 'WebexPost');
r.setStringParameterNoEscape('roomId', '');
r.setStringParameterNoEscape('text', 'Hello');
var response = r.execute();
var responseBody = response.getBody();
var httpStatus = response.getStatusCode();
}
catch(ex) {
var message = ex.message;
}
0 REPLIES 0