business rule ITSM

Haritha PH
Tera Contributor

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".

2 REPLIES 2

Namrata Ghorpad
Mega Sage
Mega Sage

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

 

swathisarang98
Giga Sage
Giga Sage

Hi @Haritha PH ,

 

You can create a simple Before Update Business rule on incident Table as below,

swathisarang98_0-1715598028431.png

swathisarang98_1-1715598053190.png

 

(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