Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2025 03:07 AM - edited 07-16-2025 03:48 AM
Hi @SumajRajNk,
I see that if group name is not empty it executes a glide record for garbage value too. You need to remove first if condition and do a GlideRecord check, if GlideRecord is not returned, then do other checks, also keep else condition as fallback so that assignment group returns Service Management group.
Bonus: add queryNoDomain() for cross domain assignment.
Try this script:
var groupName = fd_data._1__get_catalog_variables.v03_work_group.toString();
var ciName = fd_data._1__get_catalog_variables.v05_affected_cis.toString();
var assign_group = "";
var groupGR = new GlideRecord('sys_user_group');
groupGR.addQuery('name', groupName);
groupGR.queryNoDomain();
if (groupGR.next()) {
assign_group = groupGR.sys_id.toString();
return assign_group;
}
else if (ciName != "") {
var ciGR = new GlideRecord('cmdb_ci');
ciGR.addQuery('name', ciName);
ciGR.addQuery('managed_by', '!=', '');
ciGR.queryNoDomain();
if (ciGR.next()) {
assign_group = ciGR.managed_by.toString();
return assign_group;
}
} else {
var requestedFor = fd_data.trigger.request_item.request.requested_for;
if (requestedFor && requestedFor.company) {
var atdGR = new GlideRecord('u_account_team_directory');
atdGR.addQuery('u_company', requestedFor.company.toString());
atdGR.queryNoDomain();
if (atdGR.next() && atdGR.u_request_management_group) {
assign_group = atdGR.u_request_management_group.toString();
}
return assign_group;
}
}