Need to send notification after user got removed from assignment group using schedule job
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-08-2023 12:30 AM
Hi All,
I have a requirement to Delete Users from Assignment Group. Deleted user data need to be attached in form of excel in Record. Also to send out notification to all the users who were removed from groups.
I am facing issue on how to use event Queue after delete of Record . I have tried this script below `but Event Queue is not working
@Ankur Bawiskar can you help me please on this
var Headers = ["Group", "User ID", "Full Name", "Email Address", "Access revoked on", "Reason for revocation", "Successful or Not?(Y/N)"];
var fileName = 'revocation.csv';
var csvData = ''; //The variable csvData will contain a string which is used to build the CSV file contents
for (var i = 0; i < Headers.length; i++) { //Build the Headers
csvData = csvData + '"' + Headers[i] + '"' + ',';
}
csvData = csvData + "\r\n";
var group_member = [];
var group_member_error = [];
// Querying Movers Records from Group Member Table
var grGrpMember = new GlideRecord('sys_user_grmember');
grGrpMember.addEncodedQuery('user.active=true^user.department.u_functional_department_code_id!=F008^user.user_name=Test_SNGroup_5^ORuser.user_name=SARAPNA1^group.u_nvs_tenant=2e6a3e3e4f2bfe803fb88e401310c76c^group.type!=15573f074faa36c417ff260f0310c727,7e741272efe2010047920fa3f8225643^ORgroup.type=NULL^group.type!=7e741272efe2010047920fa3f8225643,15573f074faa36c417ff260f0310c727^ORgroup.type=NULL^group.type=7e741272efe2010047920fa3f8225643,db55642a4f56db8400628e401310c77d^ORgroup.type=7e741272efe2010047920fa3f8225643');
grGrpMember.setLimit(3);
grGrpMember.query();
while (grGrpMember.next()) {
grGrpMember.deleteRecord();
var result1 = grGrpMember.deleteRecord();
if (result1 == true) {
var group_member_text = grGrpMember.group.getDisplayValue() + "," + grGrpMember.user.user_name + "," + grGrpMember.user.getDisplayValue() + "," + grGrpMember.user.email + "," + grGrpMember.sys_updated_on + "," + 'Movers' + "," + 'Yes';
group_member_text.split(',');
group_member.push(group_member_text.split(','));
} else {
var group_member_text_error = grGrpMember.group.getDisplayValue() + "," + grGrpMember.user.user_name + "," + grGrpMember.user.getDisplayValue() + "," + grGrpMember.user.email + "," + grGrpMember.sys_updated_on + "," + 'Non P&O' + "," + 'No';
group_member.push(group_member_text_error.split(','));
}
}
// Querying Leavers Records
var grGrpMember1 = new GlideRecord('sys_user_grmember');
grGrpMember1.addEncodedQuery('user.active=false^user.department.u_functional_department_code_id=F008^user.user_name=Test_SNGroup_1^group.u_nvs_tenant=2e6a3e3e4f2bfe803fb88e401310c76c^group.type!=15573f074faa36c417ff260f0310c727,7e741272efe2010047920fa3f8225643^ORgroup.type=NULL^group.type!=7e741272efe2010047920fa3f8225643,15573f074faa36c417ff260f0310c727^ORgroup.type=NULL^group.type=7e741272efe2010047920fa3f8225643,db55642a4f56db8400628e401310c77d^ORgroup.type=7e741272efe2010047920fa3f8225643'); // FOR LEAVERS
grGrpMember1.query();
while (grGrpMember1.next()) {
var result = grGrpMember1.deleteRecord();
if (result == true) {
var group_member_text1 = grGrpMember1.group.getDisplayValue() + "," + grGrpMember1.user.user_name + "," + grGrpMember1.user.getDisplayValue() + "," + grGrpMember1.user.email + "," + grGrpMember1.sys_updated_on + "," + 'Inactive' + "," + 'Yes';
group_member.push(group_member_text1.split(','));
} else {
var group_member_text_error1 = grGrpMember1.group.getDisplayValue() + "," + grGrpMember1.user.user_name + "," + grGrpMember1.user.getDisplayValue() + "," + grGrpMember1.user.email + "," + grGrpMember1.sys_updated_on + "," + 'Inactive' + "," + 'No';
group_member.push(group_member_text_error1.split(','));
}
}
var user_alreadytraverse = "";
for (var k = 0; k < group_member.length; k++) {
for (var m = 0; m < group_member[k].length; m++) {
if (m == (group_member[k].length - 1)) csvData = csvData + '"' + group_member[k][m].toString() + '"';
else csvData = csvData + '"' + group_member[k][m].toString() + '"' + ',';
if (user_alreadytraverse.indexOf(group_member[k][3]) == -1 && m == 3) {
if (user_alreadytraverse == "") {
user_alreadytraverse = group_member[k][3];
} else {
user_alreadytraverse = user_alreadytraverse + "," + group_member[k][3];
}
}
}
csvData = csvData + "\r\n";
}
var userList_array = user_alreadytraverse.split(",");
for (var p = 0; p < userList_array.length; p++) {
var user_group_Array = "";
for (var q = 0; q < group_member.length; q++) {
if (userList_array[p] == group_member[q][3]) {
if (user_group_Array == "") {
user_group_Array = group_member[q][0];
} else {
user_group_Array = user_group_Array + "," + group_member[q][0];
}
}
}
gs.eventQueue('sn_hr_core.notify_movers', null, userList_array[p], user_group_Array);
}
//}
//Attach the file to a record.
var grRec = new GlideRecord("sn_hr_core_case");
grRec.initialize();
grRec.short_description = 'revocation';
grRec.description = 'test';
grRec.hr_service = '781682191bcc3094db3aa9b9ab4bcbe7';
grRec.contact_type = 'test';
grRec.opened_for.setDisplayValue('Guest');
grRec.insert();
var grAttachment = new GlideSysAttachment();
grAttachment.write(grRec, fileName, 'application/csv', csvData);
ame, 'application/csv', csvData);
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-08-2023 05:37 AM
try to write the code in before delete BR
Regards,
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader