Реализовано при помощи Script Includes
Name: usersWithGroup
Description: return array of user property values with specific group
Active: true
function usersWithGroup(roleName, propertyName = 'sys_id') {
let userGroup = new SimpleRecord('sys_user_group');
userGroup.addQuery('group_id', roleName);
userGroup.selectAttributes('user_id');
userGroup.query();
let users = new Set();
while (userGroup.next()) {
users.add(userGroup.user_id.getValue(propertyName));
};
return Array.from(users).sort();
}
Пример использования для notification script
getQualityManagerEmail
(function runNotificationScript(
/* SimpleRecord */ current,
/* SimpleTemplatePrinter */ template,
/* SimpleEmailOutbound */ email,
/* SimpleRecord */ event
) {
ss.importIncludeScript('usersWithRole')
email.addAddress(usersWithRole('quality_manager', 'email').join('; '));
})(current, template, email, event);