Действия, преобразования и переменные
Действия задают результат выбранного правила: текст, переменные для шаблона, важность, метки и получателей. Они выполняются после проверки условий. Если обычное правило совпало, другие правила уже не добавляют действий. Сначала прочитайте обзор правил.
Добавьте преобразование
Откройте правило, в блоке «Тогда» выберите «Текст сообщения и переменные» и добавьте нужную операцию. Стрелками задайте порядок. В одном правиле можно сохранить до 20 преобразований.
| Операция | Что указать | Результат |
|---|---|---|
| Задать текст сообщения | Буквальный текст | Полностью заменяет рабочий текст; пробелы и переносы сохраняются |
| Взять текст из JSON | Путь, например event.message | Заменяет рабочий текст значением поля исходного JSON |
| Извлечь переменную из JSON | Путь и имя переменной, например site.id → site | Сохраняет значение в переменную; текст не меняется |
| Извлечь переменные регулярным выражением | PCRE2 с именованными группами | Группы первого совпадения становятся переменными; текст не меняется |
| Заменить текст | Искомый фрагмент и замена | Заменяет все точные совпадения в рабочем тексте с учётом регистра |
| Заменить регулярным выражением | PCRE2 и замена | Заменяет все совпадения в рабочем тексте; в замене доступны $1, $2 |
| Удалить префикс | Фрагмент начала, включая нужные пробелы | Удаляет один совпавший префикс; при несовпадении оставляет текст |
Регулярное выражение вводится без /.../ и флагов после него; регистр задаётся переключателем. Например, server=(?<server>[A-Za-z0-9-]+) извлекает web-01 из server=web-01. Проверяйте выражение серверной проверкой примера.
Пустая замена удаляет найденный фрагмент. «Задать текст сообщения» тоже допускает пустой промежуточный текст, если дальнейшие операции или шаблон дадут непустое уведомление. Пустой итоговый результат будет отклонён.
Порядок и исходные данные
Рабочий текст в начале равен телу запроса. Каждая текстовая операция читает результат предыдущей. Поэтому сначала удалите префикс, а затем извлекайте переменную выражением, которое ожидает очищенное начало.
JSON-пути всегда читают исходный JSON, даже после замены рабочего текста. Условия тоже проверяются по исходному запросу и после преобразований повторно не выполняются.
| Ситуация | Поведение |
|---|---|
| JSON-путь найден | Строка вставляется дословно; число/boolean — текстом; объект/массив — компактным JSON; null — пустой строкой |
| JSON-путь отсутствует или запрос не содержит JSON | Операция пропускается, появляется предупреждение; прежний текст/переменная сохраняются |
| Извлечение regex не нашло совпадения | Текст и переменные сохраняются, появляется предупреждение |
| Две операции записали одну переменную | Используется последнее записанное значение |
| Префикс или фрагмент замены не найден | Рабочий текст не меняется |
Имена переменных для JSON: латинская буква или _ в начале, далее латинские буквы, цифры и _, всего до 64 символов. Не используйте служебные имена message, raw_message, importance, tags, json, channel_name. Для regex выбирайте такие же простые имена групп.
Исходный и промежуточный текст, отдельная переменная и итог уведомления ограничены 1 048 576 байтами. Нулевой байт недопустим. Ошибки размеров и формата описаны в HTTP-справке.
Передайте переменные в шаблон
Создайте текстовый шаблон:
text
Сервер: {{vars.server}}
{{message}}Выберите его у канала или добавьте действию правила «Шаблон сообщения». Подстановка {{message}} берёт рабочий текст, {{raw_message}} — исходное тело, {{vars.server}} — переменную. Полный справочник — «Шаблоны и подстановки».
Внутри операции «Задать текст сообщения» подстановки не раскрываются. Для динамической строки используйте шаблон, который подставляет значения однократно.
Остальные действия
Через «Добавить действие» можно выбрать важность, готовый набор меток, шаблон и параметры доставки. Отсутствующее действие доставки/шаблона наследует настройки канала. Действие шаблона заменяет оформление; «Без шаблона» отключает его. Действие доставки добавляет цели к базовым назначениям канала без повторов. Пустые списки правила не отключают базовую доставку.
Чтобы снова наследовать настройки, удалите действие. Метки и важность не вычисляются из произвольного JSON-поля: правило задаёт выбранные значения. Их настройка — в статье о классификации.
Проверьте результат
В «Проверить на примере» сравните исходное тело, рабочий текст, переменные, итоговый текст и предупреждения. Затем отправьте тот же запрос по HTTP и проверьте сохранённые подробности в истории.
Готовый пример с точным порядком операций, альтернативным входом и default — «Обработка текста мониторинга».