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

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

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

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

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

В форме доступны следующие параметры:

  • Сервер SMTP и Порт SMTP — адрес и порт почтового сервера;
  • Имя пользователя SMTP и Пароль SMTP — учётные данные, если сервер требует аутентификацию. Для замены сохранённого пароля нажмите Редактировать;
  • Email отправителя — адрес, от имени которого отправляются письма;
  • Протокол безопасности — SSL, TLS или отсутствие защищённого протокола;
  • Таймаут (секунды) — время ожидания при подключении и выполнении операций SMTP. По умолчанию 5 секунд; допускается целое число больше нуля;
  • Активный — включение отправки email через настроенный сервер.

Нажмите Сохранить, чтобы применить настройки. По кнопке Проверить подключение можно указать адрес получателя и отправить тестовое письмо с параметрами из формы.

Настройки почтового сервера

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

CodeScoring Policy Actions example

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

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

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

Интеграция с таск-менеджерами

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

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

  • Название - название интеграции;
  • Тип - тип таск-менеджера;
  • URL - адрес, по которому доступен таск-менеджер;
  • Тип аутентификации - аутентификация через токен доступа или логин и пароль;
  • Кастомные статические поля — дополнительные поля создаваемых задач в формате JSON-объекта. Поле доступно при выборе типа Jira Server.
Тип аутентификации для Kaiten

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

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

При редактировании существующей интеграции нажмите Сохранить. Для замены сохранённого пароля или токена нажмите Редактировать в соответствующем поле.

Настройки интеграции с Jira

В поле Кастомные статические поля можно задать одинаковые дополнительные значения для всех задач, создаваемых через эту интеграцию. Например:

{
  "customfield_10001": "CodeScoring"
}

Используйте идентификаторы полей и типы значений, соответствующие настройкам вашей Jira. Чтобы создавать задачи без дополнительных статических полей, оставьте поле пустым или укажите {}. Основные поля задачи — название, описание, проект и тип — заполняются из данных действия политики.

Создание задач в таск-менеджерах

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

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

CodeScoring Kaiten task settings example

  • Режим — режим отправки:
    • Отправить каждое оповещение отдельно;
    • Отправить все оповещения вместе.
  • Группы — группы проектов, на которые делается оповещение. Если не указано, подразумеваются все группы;
  • Проекты — конкретные проекты, на которые делается оповещение. Если не указано, подразумеваются все проекты;
  • Сервер — таск-менеджер (в данном случае Kaiten);
  • Проект/Доска — доска в Kaiten;
  • Тип задачи — тип карточки доступный в Kaiten;

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

CodeScoring Jira task 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] - ссылка на образ контейнера.

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

Страница была полезна?