I want to add assignment group members to attendee table
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hi @Purushotham9963 ,
Please use approach below and try.
- Create the Business Rule
- Table: CAB Agenda Item [cab_agenda_item]
- Advanced: Check this box.
- When: async
- Insert: Check this box.
- (Leave Update, Delete, and Query unchecked).
- script:
(function executeRule(current, previous /*, gs, script_include*/) {
// Get the sys_id of the CAB Meeting
var meetingSysId = current.getValue('cab_meeting');
// Get the sys_id of the Task (the Change Request) that was just added
var taskSysId = current.getValue('task');
var grTask = new GlideRecord('task');
if (!grTask.get(taskSysId)) {
return;
}
var assignmentGroupSysId = grTask.getValue('assignment_group');
if (gs.nil(assignmentGroupSysId)) {
return;
}
// Now, get all members of that Assignment Group
var grMember = new GlideRecord('sys_user_grmember');
grMember.addQuery('group', assignmentGroupSysId);
grMember.query();
while (grMember.next()) {
var userSysId = grMember.getValue('user');
// We must check if this user is already an attendee for this meeting
var grAttendeeCheck = new GlideRecord('cab_attendee');
grAttendeeCheck.addQuery('cab_meeting', meetingSysId);
grAttendeeCheck.addQuery('attendee', userSysId);
grAttendeeCheck.setLimit(1); // We only need to know if one exists (more efficient)
grAttendeeCheck.query();
if (!grAttendeeCheck.hasNext()) {
var grNewAttendee = new GlideRecord('cab_attendee');
grNewAttendee.initialize();
grNewAttendee.setValue('cab_meeting', meetingSysId);
grNewAttendee.setValue('attendee', userSysId);
grNewAttendee.insert();
}
}
})(current, previous);Regards,
Vishal
