Auto creation of problem tickets
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-17-2024 12:12 AM - edited 09-17-2024 04:34 AM
Dear Community members,
We have a task to automate our problem management process. Our goal is to link similar several incidents to existing Problem record. Those several incidents would have similar patterns.
Question: Are there any possibilities in ServiceNow to automatically link similar incidents to existing Problem record? Those incident would have several things in common: 1. Same business_service name, and 2. Similar Description with same keywords (however description would not match fully for all incidents).
Please share you experience and thoughts.
Regards,
Mantautas.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-17-2024 12:48 AM
Hi,
Let me know if this works:
Create after BR -> 'Insert' or 'updated'
(function executeRule(current, previous) {
var category = current.category.getDisplayValue();
var subcategory = current.subcategory.getDisplayValue();
var gr = new GlideRecord('incident');
gr.addActiveQuery();
gr.addQuery('category', category);
gr.addQuery('subcategory', subcategory);
gr.addQuery('sys_id', '!=', current.sys_id);
gr.query();
var similarIncidentCount = gr.getRowCount();
var threshold = 3;
if (similarIncidentCount >= threshold) {
var problemGr = new GlideRecord('problem');
problemGr.addQuery('category', category);
problemGr.addQuery('subcategory', subcategory);
problemGr.query();
if (!problemGr.next()) {
problemGr.initialize();
problemGr.short_description = 'Multiple incidents with the same category and subcategory';
problemGr.description = 'Multiple incidents with the same category and subcategory have been reported.';
var problemSysId = problemGr.insert();
if (problemSysId) {
while (gr.next()) {
gr.problem_id = problemSysId;
gr.update();
}
gs.info('Problem ticket created: ' + problemSysId);
} else {
gs.error('Failed to create problem ticket');
}
}
}
})(current, previous);
Regards,
Eshwar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-18-2024 08:27 PM
Thank you Eshwar for this. I actually edited my original posting a bit.
This would be linking several similar incidents (having same business_service and having similar key words/patterns in decription) to problem record which can already exists.
Regards,
Mantautas.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-18-2024 09:14 PM
After insert/Update BR
var bs= current.business_service;
if (bs) {
var gr = new GlideRecord('incident'); gr.addQuery('business_service', bs); gr.query();
While(gr.next()){
var pGR = new GlideRecord('problem');
pGR.addQuery('business_service', gr.business_service);
pGR.query();
while (GR.next()) {
var pDes = pGR.description.toString();
var incDesc = gr.description.toString();
var x= pDes.split(' ');
var flag =false;
for (var i = 0; i < x.length; i++) {
if (incDesc.indexOf(x[i]) != -1) {
flag= true;
break;
}
}
if (flag==true) {
gr.problem_id= pGR.sys_id;
gr.update();
}
}
}
