Настройка уведомлений¶
Для каждой политики можно настроить дополнительные уведомления о срабатывании политик, помимо просмотра результатов в разделе Алерты
. На данный момент доступно два способа оповещения: через email и через таск-менеджер Jira.
Уведомления через email¶
Отправка email оповещений осуществляется через интеграцию по протоколу SMTP.
Для отправки уведомлений через email необходимо предварительно настроить почтовый сервер в разделе Настройки -> Уведомления -> Email
. Для этого нужно заполнить все обязательные параметры и установить чек-бокс Активный.
Проверить правильность конфигурации можно по кнопке Проверить подключение.
После настройки почтового сервера на вкладке Действия
на странице политики можно добавить email адрес, на который будет осуществляться рассылка писем с результатами работы политики:
- Email — почтовый адрес;
- Режим — режим отправки писем:
- Отправить каждое оповещение отдельно;
- Отправить все оповещения вместе;
- Шаблон - название шаблона. Если не указано, будет использован стандартный шаблон;
- Группы — группы проектов, на которые делается оповещение. Если не указано, подразумеваются все группы;
- Проекты — конкретные проекты, на которые делается оповещение. Если не указано, подразумеваются все проекты.
Если указаны и группы, и проекты, то оповещения будут включать в себя информацию по всем проектам из указанных групп и по всем указанным проектам.
Письмо с результатами работы политики отправляется по завершении сканирования проекта. Содержимое письма зависит от выбранного шаблона.
Создание задач в Jira¶
CodeScoring поддерживает интеграцию с таск-менеджером Jira для формирования задач по сработавшим политикам. Настройка интеграции происходит в разделе Настройки -> Уведомления -> Менеджеры задач
.
Для создания новой интеграции используется форма по кнопке Добавить.
- Название - название интеграции;
- Тип - тип таск-менеджера (по умолчанию – Jira Server);
- URL - адрес, по которому доступен таск-менеджер;
- Тип аутентификации - аутентификация через токен доступа или логин и пароль.
После заполнения полей можно проверить соединение с сервером по кнопке Проверить подключение, или завершить создание по кнопке Добавить.
После настройки интеграции на вкладке Действия
на странице политики можно добавить сервер Jira, на котором будет создаваться задача с результатами работы политики:
- Режим — режим отправки:
- Отправить каждое оповещение отдельно;
- Отправить все оповещения вместе.
- Группы — группы проектов, на которые делается оповещение. Если не указано, подразумеваются все группы;
- Проекты — конкретные проекты, на которые делается оповещение. Если не указано, подразумеваются все проекты;
- Сервер — таск-менеджер (в данном случае Jira);
- Проект — проект в Jira;
- Задача — тип карточки: Task, Story или Bug;
- Приоритет задачи - приоритет карточки. Если не указан, будет использован приоритет по умолчанию на стороне Jira;
- Шаблон - название шаблона. Если не указано, будет использован стандартный шаблон.
Если указаны и группы, и проекты, то оповещения будут включать в себя информацию по всем проектам из указанных групп и по всем указанным проектам.
Управление шаблонами¶
В CodeScoring поддерживается возможность использования собственных шаблонов для уведомлений по email или создания Jira-задач.
Управление шаблонами доступно в разделе Настройки -> Уведомления -> Шаблоны
.
Для создания нового шаблона используется форма со следующими полями:
- Наименование;
- Тип - шаблоны в зависимости от использования разделяются по типам Markdown для Jira-задач и HTML для email-оповещений;
- Шаблон - содержимое шаблона в формате jinja2.
Важно! Используйте только безопасные структуры. Прежде чем завершить создание шаблона убедитесь в безопасности своих данных.
При заполнении поля Шаблон формы, необходимо учитывать, что шаблон может использоваться как для режима отправки "Отправить каждое оповещение отдельно", так и для "Отправить все оповещения вместе".
Содержимое 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.