Ask for Approval for unique managers and additional managers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-22-2025 10:44 AM
How to use this code in script include using function
getuniqueApprovalCoordinator: function(ritmId) {
var current = new GlideRecord("sc_req_item");
gs.log("TEST123" );
if (current.get(ritmId)) {
var items = JSON.parse(current.variables.configuration_item_100);
var supportGroups = {};
for (var i = 0; i < items.length; i++) {
var ciGr = new GlideRecord("cmdb_ci_server");
if (ciGr.get(items[i].ci) && ciGr.support_group) {
supportGroups[ciGr.support_group.toString()] = true;
}
}
var groupInfoList = [];
for (var groupId in supportGroups) {
var grp = new GlideRecord("sys_user_group");
if (grp.get(groupId)) {
var managers = [];
if (grp.manager)
managers.push(grp.manager.getDisplayValue());
if (grp.u_additional_mgrs)
managers.push(grp.u_additional_mgrs.getDisplayValue());
groupInfoList.push({
group: grp.getDisplayValue('name'),
managers: managers
});
}
}
gs.info(JSON.stringify(groupInfoList, null, 4));
var taskAppLoaded = false;
var cleanTaskApprovers = [];
var str = '';
groupInfoList.forEach(groupObject => {
var managers = groupObject.managers;
var prefix;
if (taskAppLoaded) {
prefix = '&AnyU[';
} else {
prefix = 'ApprovesAnyU[';
}
str += prefix + managers.join(',') + ']';
taskAppLoaded = true;
managers.forEach(manager => {
if (!cleanTaskApprovers.includes(manager)) {
cleanTaskApprovers.push(manager);
}
});
});
str += 'OrRejectsAnyU[' + cleanTaskApprovers.join(',') + ']';
return str;
}
},
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-22-2025 11:00 AM
Hi Nikitha,
I assume, the code is already enclosed in the function.
You can create a new script include with name 'QuestCatalogItemHelper' and you can call it like you are calling in line 2, if you are trying to call from server side script.
If you want to call from Client side script. Please use AJAX methodology.