Перейти к содержанию

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

Для каждой политики можно настроить дополнительные уведомления о срабатывании политик, помимо просмотра результатов в разделе Алерты. На данный момент доступно два способа оповещения: через email и через таск-менеджер Jira.

Уведомления через email

Отправка email оповещений осуществляется через интеграцию по протоколу SMTP.

Для отправки уведомлений через email необходимо предварительно настроить почтовый сервер в разделе Настройки -> Уведомления -> Email. Для этого нужно заполнить все обязательные параметры и установить чек-бокс Активный.

Проверить правильность конфигурации можно по кнопке Проверить подключение.

CodeScoring email settings example

После настройки почтового сервера на вкладке Действия на странице политики можно добавить email адрес, на который будет осуществляться рассылка писем с результатами работы политики:

CodeScoring Policy Actions example

  • Email — почтовый адрес;
  • Режим — режим отправки писем:
  • Отправить каждое оповещение отдельно;
  • Отправить все оповещения вместе;
  • Шаблон - название шаблона. Если не указано, будет использован стандартный шаблон;
  • Группы — группы проектов, на которые делается оповещение. Если не указано, подразумеваются все группы;
  • Проекты — конкретные проекты, на которые делается оповещение. Если не указано, подразумеваются все проекты.

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

Письмо с результатами работы политики отправляется по завершении сканирования проекта. Содержимое письма зависит от выбранного шаблона.

Создание задач в Jira

CodeScoring поддерживает интеграцию с таск-менеджером Jira для формирования задач по сработавшим политикам. Настройка интеграции происходит в разделе Настройки -> Уведомления -> Менеджеры задач.

Для создания новой интеграции используется форма по кнопке Добавить.

  • Название - название интеграции;
  • Тип - тип таск-менеджера (по умолчанию – Jira Server);
  • URL - адрес, по которому доступен таск-менеджер;
  • Тип аутентификации - аутентификация через токен доступа или логин и пароль.

После заполнения полей можно проверить соединение с сервером по кнопке Проверить подключение, или завершить создание по кнопке Добавить.

CodeScoring Jira settings example

После настройки интеграции на вкладке Действия на странице политики можно добавить сервер Jira, на котором будет создаваться задача с результатами работы политики:

CodeScoring Jira settings example

  • Режим — режим отправки:
  • Отправить каждое оповещение отдельно;
  • Отправить все оповещения вместе.
  • Группы — группы проектов, на которые делается оповещение. Если не указано, подразумеваются все группы;
  • Проекты — конкретные проекты, на которые делается оповещение. Если не указано, подразумеваются все проекты;
  • Сервер — таск-менеджер (в данном случае Jira);
  • Проект — проект в Jira;
  • Задача — тип карточки: Task, Story или Bug;
  • Приоритет задачи - приоритет карточки. Если не указан, будет использован приоритет по умолчанию на стороне Jira;
  • Шаблон - название шаблона. Если не указано, будет использован стандартный шаблон.

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

CodeScoring Policy Actions example

Управление шаблонами

В CodeScoring поддерживается возможность использования собственных шаблонов для уведомлений по email или создания Jira-задач. Управление шаблонами доступно в разделе Настройки -> Уведомления -> Шаблоны.

Для создания нового шаблона используется форма со следующими полями:

Важно! Используйте только безопасные структуры. Прежде чем завершить создание шаблона убедитесь в безопасности своих данных.

Template example

При заполнении поля Шаблон формы, необходимо учитывать, что шаблон может использоваться как для режима отправки "Отправить каждое оповещение отдельно", так и для "Отправить все оповещения вместе".

Содержимое email или jira-задачи формируется на основании шаблона и контекста алертов. В контексте предоставляется коллекция алертов (в режиме раздельной отправки в коллекции будет один алерт).

Для каждого алерта можно использовать следующие переменные:

  • policy_alert_level: str - уровень критичности алерта;
  • policy_alert_stage: str - стадия цикла разработки;
  • policy_alert_matched_criteria_list: list[str] - список условий политики;
  • policy_name: str - название политики;
  • policy_blocks_build: bool - блокировка сборки или загрузки компонента из прокси-репозитория;
  • policy_block_delay: int - задержка (в днях) от первого срабатывания политики до блокировки;
  • policy_is_block_delayed: bool - использование отложенной блокировки;
  • dependency_name: str - название зависимости;
  • dependency_link: str - ссылка на зависимость;
  • dependency_technology: str - язык программирования или экосистема;
  • vulnerability_code: Optional[str] - идентификатор уязвимости из внешней базы;
  • vulnerability_link: Optional[str] - ссылка на уязвимость;
  • max_fixed_version: Optional[str] - максимальная исправленная версия;
  • license_code: Optional[str] - лицензия;
  • project_name: Optional[str] - название проекта;
  • container_image_name: Optional[str] - название образа контейнера;
  • container_image_link: Optional[str] - ссылка на образ контейнера.

Важно: все ссылки ведут на ту инсталляцию, на которой были сформированы данные для email или задачи в Jira.