business rule ITSM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-10-2024 04:44 AM
There is a requirement that in incident form whenever we are changing the assignment group if any member is available in that group, set work notes that Group member available and if no group member found then set work notes "No group member available".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-12-2024 01:43 AM
Hello @Haritha PH ,
You can create onChange Client script for this and select field as assignment Group and create client callable Script Include like below.
I tried like below and it's working fine!
OnChange Client Script :
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
//Type appropriate comment here, and begin script below
var agroup=newValue;
var ga=new GlideAjax("CheckMemberOfGroup");
ga.addParam("sysparm_name","checkGroup");
ga.addParam("sysparm_grp",agroup);
ga.getXMLAnswer(getResponse);
function getResponse(response)
{
alert(response);
var answer=response;
if(answer=='false')
{
g_form.setValue("work_notes","No group member available");
g_form.save();
}
}
}
Script Include :
var CheckMemberOfGroup = Class.create();
CheckMemberOfGroup.prototype = Object.extendsObject(AbstractAjaxProcessor, {
checkGroup:function()
{
var assiGroup=this.getParameter('sysparm_grp');
var grmember=new GlideRecord('sys_user_grmember');
grmember.addQuery('group',assiGroup);
grmember.query();
if(grmember.next())
{
return true;
}
else{
return false;
}
},
type: 'CheckMemberOfGroup'
});
Please mark my answer as helpful and correct if it helps to resolve your issue.
Regards,
Namrata
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-13-2024 04:01 AM
Hi @Haritha PH ,
You can create a simple Before Update Business rule on incident Table as below,
(function executeRule(current, previous /*null when async*/ ) {
var assignmentGroup = current.assignment_group;
var gr = new GlideRecord('sys_user_grmember');
gr.addQuery('group', assignmentGroup);
gr.query();
if (gr.next()) {
current.work_notes = 'Group member available ';
} else {
current.work_notes = 'No group member available';
}
})(current, previous);
Please mark this comment as Correct Answer/Helpful if it helped you.
Regards,
Swathi Sarang