Настройка правил уведомления

Функция getUsersToNotify в скрипте change-flow.js ( Модули > Администратор > Конфигурация > Процесс изменения > Скрипт потока изменения) определяет следующие параметры:

  • обстоятельства, при которых будут отправляться уведомления;
  • получатели уведомлений;
  • содержимое уведомлений.

Если функция getUsersToNotify активирована, она по умолчанию предписывает системе Release Control сравнивать каждый новый запрос на изменение с указанным статусом и ранее полученную версию запроса, а затем определять, не вышел ли рассчитанный риск за пределы указанного порогового значения.

function getUsersToNotify(prevChange, newChange, notificationContext) {

     return false;

/*

    var statusIsPendingApproval = (newChange.getField("status") ==

STATUS_PENDING_APPROVAL);

    

    var message = "";

    var riskStatusStr = "is ";

    

    var riskIncreased = true; // начало с предположения, что риск увеличился (относится к случаям, когда изменение поступило впервые)

    

    if (prevChange != null) {

        riskIncreased = (newChange.getField("calculated-risk") >

                  prevChange.getField("calculated-risk"));

        if (riskIncreased) {

            riskStatusStr = "has increased to ";

        }

    }

 

    var threshold = 0;

    var riskAboveThreshold = (newChange.getField("calculated-risk") > threshold);

Дополнительные сведения о расчетах риска см. в разделе Анализ рисков.

Если рассчитанный риск превысил установленное пороговое значение, версия функции getUsersToNotify по умолчанию предписывает приложению Release Control уведомить всех пользователей, связанных с затронутыми приложениями, у которых серьезность влияния превысила заданный уровень.

if (statusIsPendingApproval && riskIncreased && riskAboveThreshold) {

    var message = "Текущий статус запроса: " +

     newChange.getField("status").name +

     " и уровень рассчитанного риска для запроса " +

     riskStatusStr +

     " " +

     newChange.getField("calculated-risk") +

     ".";

// Добавить затронутых пользователей для этого запроса на изменение, где серьезность выше 0 (VERY_LOW).    

// Для отправки всеми затронутыми пользователями -1 при: newChange.getAffectedusers()

notificationContext.addUsers(newChange.getAffectedUsersAboveSeverity (SEVERITY_LOW));

if (notificationContext.hasUsers()) {// если есть пользователи, затронутые этим изменением, уведомите их о необходимости проверки

message = "Данный запрос потенциально затрагивает приложения, для которых вы зарегистрированы " +

"на получение уведомлений.\n" + message;

Если отсутствуют пользователи, связанные с этими приложениями, версия функции getUsersToNotify по умолчанию предписывает системе Release Control уведомить администратора.

} else {

    notificationContext.addUsersByRole("Administrator");

    message = "Change Control Management не определил конкретных пользователей для" +

     "уведомления об этом запросе. " +

     "Вы получили это уведомление как" +

     "администратор Change Control Management.\n" +

     message;

    }

Объяснение объектов, которые могут быть использованы в функции getUsersToNotify, см. классы notificationContext и GenericRFC в файле API_Reference.chm. (Чтобы открыть справку по API, выберите Пуск > Программы > Release Control 9.60 > Документация и откройте каталог pdfs).

Обращайтесь