Синтаксис шаблонов уведомлений

01 октября 2026

ID 295255

В шаблонах уведомлений используется синтаксис Go templates. С помощью этого синтаксиса можно динамически наполнять содержимым уведомления: загружать данные из полей соответствующих объектов, вставлять ссылки или преобразовывать даты в нужный формат. Синтаксис шаблонов можно использовать как в теме письма, так и в теле сообщения. В этой статье дается краткая информация о синтаксисе, а также перечислены поля, которые можно использовать для тех или иных типов событий, и дополнительные функции, применяемые к этим полям. Подробнее про синтаксис вы можете прочитать в официальной документации языка Go.

В шаблоне можно обращаться к полям объектов в зависимости от выбранного типа событий. Поля соответствующих объектов могут содержать простые значения, такие как строка или число:

В письме будет отображаться название алерта, то есть содержимое поля CorrelationRuleName модели данных алерта.

Некоторые поля могут содержать содержат массивы данных, например поля алерта с относящимися к нему событиями, активами, учетными записями. К таким вложенным объектам можно обращаться с помощью функции range, которая последовательно обращается к полям 50 первых вложенных объектов. При обращении с помощью функции range к полю, в котором нет массива данных, возвращается ошибка. Пример:

В письме будут отображаться значения полей DeviceHostName и CreatedAt из 50 связанных с алертом активов:

С помощью функции limit можно ограничить количество объектов, возвращаемых функцией range:

В письме будут отображаться значения полей DisplayName и CreatedAt из 5 связанных с алертом активов, слова "Устройства" и "Дата создания" выделены HTML-тегами <strong>:

Вложенные объекты могут иметь свои вложенные объекты. К ним можно обратиться с помощью вложенных функций range:

В письме будет отображаться по десять идентификаторов сервисов (поле ServiceID) из базовых событий, относящихся к пяти корреляционным событиям алерта (всего 50 строк). Обратите внимание, что обращение к событиям происходит через вложенную структуру EventWrapper, которая находится в алерте в поле Events. События доступны в поле Event этой структуры, что отражено в примере выше. Таким образом, если поле A содержит вложенную структуру [B] и в структуре [B] есть поле C, которое является строкой или числом, то чтобы обратиться к полю C, необходимо указать путь {{ A.C }}.

Некоторые поля объектов содержат вложенные словари в формате "ключ – значение" (например, поле событий Extra). К ним можно обратиться с помощью функции range с переданными ей переменными: range $placeholder1, $placeholder2 := .FieldName. Значения переменных затем можно вызывать, указывая из названия. Пример:

В письме через HTML-тег <br> будут отображаться пары "ключ – значение" из полей Extra базовых событий, принадлежащих корреляционным событиям. Вызываются данные из пяти базовых событий из каждого из трех корреляционных событий.

В шаблонах уведомлений можно использовать HTML-теги, выстраивая их в сложные структуры. Пример таблицы для полей корреляционного события:

С помощью функции link_alert в письмо с уведомлением можно вставить HTML-ссылку на алерт:

В письме будет отображаться ссылка на окно алерта.

Шаблоны также поддерживают более сложные конструкции, такие как объявление локальных переменных, использование операторов сравнения и управляющих структур. Ниже приведен пример, как можно из связанных с алертом данных извлечь сведения о наивысшей категории активов и поместить ее в уведомления:

Поля объектов, поддерживаемые в шаблонах

В таблице ниже перечислены поля, к которым можно обращаться из шаблонов в зависимости от типа события.

Поддерживаемые поля объектов

Функции в шаблонах уведомлений

В шаблонах доступны функции, перечисленные в таблице ниже.

Функции в шаблонах

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!