Скрипт поиска id пользователей в определенной группе

Реализовано при помощи 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);
1 лайк