SecurityFlow Кабинет лицензий , откроется в новой вкладке

Документация / Руководство администратора / Интеграции

Jira

Обновлено 20 октября 2026

Интеграция с Jira создаёт задачи по уязвимостям и держит статусы в согласии: Core переводит задачи при разборе уязвимостей, Jira через вебхук сообщает об изменениях задач. Платной лицензии интеграция не требует.

Раздел: "Глобальные настройки" → "Интеграции" → "Jira", мастер из четырёх шагов. Настраивает роль с правом "Глобальные настройки": "Изменение". Создавать задачи по уязвимостям может роль с "Уязвимости": "Изменение".

Как устроена интеграция

  • Core работает с одним экземпляром Jira.
  • У каждой уязвимости может быть две задачи: в пространстве команды безопасности и в пространстве команды продукта. Пространства задаются глобально и переопределяются на продукте.
  • Запросы к Jira выполняет сервис sf-core-jira-helper из состава Core. События вебхука Core передаёт на обработку служебному воркеру sf-core-db-helper.
  • Сетевые потоки: Core ходит в Jira по HTTPS, Jira отправляет вебхук на внешний адрес Core.

Аутентификация

Шаг 1 "Аутентификация". Укажите "URL сервера" и выберите метод. Косую черту в конце URL Core добавит сам.

Метод Поля Когда использовать
Basic "Почта", "Токен аутентификации" API-токен учётной записи Jira
OAuth "Токен доступа", "Секретный токен доступа", "Ключ потребителя", "Файл сертификата" связь приложений (application link) между Jira и Core
Токен "Персональный токен доступа" персональный токен доступа (Personal Access Token) Jira

При сохранении Core проверяет учётные данные запросом к Jira. Ошибка Jira возвращается как 400 с её текстом. Учётные данные хранятся зашифрованными.

Учётной записи Jira нужны права на создание, правку, перевод по статусам и удаление задач в обоих пространствах, если включено удаление задач отклонённых уязвимостей.

Сопоставление статусов

Шаг 2 "Сопоставление статусов задач" определяет, какой статус задачи Jira соответствует статусу разбора уязвимости.

Колонка Что задаёт
"Статус задачи в Jira" статус из рабочего процесса Jira
"Статус уязвимости" статус разбора в Core: все, кроме "Назначено"
двустороннее обновление "Включено" или "Выключено" для пары

Правила:

  • Один статус Jira сопоставляется только одному статусу уязвимости. Повтор - 409 "This jira status is already mapped".
  • Несколько статусов Jira могут вести в один статус уязвимости.
  • Двустороннее обновление включается только у одной пары на статус уязвимости. Включение снимает флаг с остальных пар этого статуса.

Направления:

  • Jira → Core: задача перешла в сопоставленный статус - уязвимость получает соответствующий статус разбора.
  • Core → Jira: уязвимость получила статус - её задачи переводятся в статус Jira из пары с двусторонним обновлением. Нет такой пары - задачи не переводятся.

Статус "Назначено"

Статуса "Назначено" нет в сопоставлении, вручную его тоже не выставить. Статус приходит из Jira: он означает, что в связанной задаче назначен исполнитель. Без интеграции с Jira уязвимости в "Назначено" не попадают.

  • Если исполнитель в задаче уже назначен, уязвимость при верификации сразу переходит в "Назначено", минуя "В работе".
  • От даты назначения исполнителя Core считает срок этапа "решение" в SLA: Метрики и SLA.

Какая задача ведёт статус и приоритет, задаёт флажок "Использовать задачу команды безопасности для сопоставления статуса и приоритета". Выключен - задача команды продукта, включён - задача команды безопасности.

Порядок статусов и переходы: Жизненный цикл уязвимости.

Пространства по умолчанию

Шаг 3 "Пространства команд по умолчанию". Поля задаются отдельно для команды безопасности и команды продукта:

Поле Что задаёт
"Пространство команды ..." ключ проекта Jira. Core проверяет, что проект существует
"Тип задачи в пространстве команды ..." тип создаваемой задачи
"Компоненты" компоненты новой задачи
"Ассайни по дефолту / продакт-овнер" исполнитель новой задачи
"Когда уязвимость решена, ставить задаче статус" статус Jira для решённой уязвимости; доступны статусы, сопоставленные "Решено"
"Когда уязвимость отклонена, ставить задаче статус" статус Jira для отклонённой; доступны статусы, сопоставленные "Отклонено"
"Отправлять дату завершения" срок задачи: "Не отправлять", "Время до решения", "Время до назначения и решения"

Общие флажки:

Флажок По умолчанию Что делает
"Создавать задачу в Jira автоматически при верификации уязвимости" выключен при переходе уязвимости в "В работе" создаёт задачи, если их ещё нет
"Использовать задачу команды безопасности для сопоставления статуса и приоритета" выключен статус и приоритет ведёт задача команды безопасности

При смене ключа пространства Core сбрасывает тип задачи и статус для решённых в этом пространстве: задайте их заново.

Настройки продукта

В продукте → "Настройки" можно переопределить те же поля. Пустое поле берётся из глобальных настроек. Дополнительно на продукте:

Флажок Что делает
"Добавить теги к задачам Jira" переносит теги продукта в ярлыки задач
"Добавить название продукта в ярлыки задач в Jira" добавляет имя продукта в ярлыки

Менять настройки продукта может роль с "Продукты": "Изменение".

Вебхук

Шаг 4 "Настройка вебхука".

Поле Значение
"Включить интеграцию вебхука" по умолчанию включено. Выключено - Core принимает вебхук, но не обрабатывает
"URL вебхука" https://core.example.ru/api/v1/jira-helper/jira-event/<токен>/

Токен в адресе - UUID из настроек Jira в Core (webhook_token). Другой аутентификации у вебхука нет: храните URL как секрет. Косая черта в конце адреса обязательна.

Настройка в Jira:

  1. Откройте администрирование Jira → "System" → "WebHooks" и создайте вебхук.
  2. Вставьте "URL вебхука" из Core.
  3. Отметьте события: Issue - updated, deleted; Issue link - created, deleted.
  4. Ограничьте область JQL проектами пространств Core, например project in (SEC, APP).
  5. Сохраните.

Core обрабатывает события jira:issue_updated, jira:issue_deleted, issuelink_created, issuelink_deleted. Остальные события, в том числе события комментариев, принимает с ответом 204 и не обрабатывает.

Проверка: переведите тестовую задачу в сопоставленный статус. Статус уязвимости в Core должен измениться.

Приоритеты

Блок "Сопоставление приоритета задач":

  1. Включите "Включить сопоставление приоритета".
  2. Для каждой критичности выберите "Приоритет Jira задачи".

Одна критичность сопоставляется одному приоритету и наоборот. Повтор - 409 "This priority is already mapped" или "This severity is already mapped". Поле "Приоритет" должно быть во всех проектах Jira, где Core создаёт задачи.

Core меняет приоритет задач при смене критичности уязвимости и при установке вектора CVSS.

Настройки процесса

Флажок По умолчанию Что делает
"Закрывать задачу команды безопасности, если соответствующая задача команды продукта решена" выключен переводит задачу безопасности в статус для решённых, когда задачу продукта решили в Jira
"Удалять задачи для отклоненных уязвимостей" включен удаляет задачи уязвимости в Jira, когда её отклоняют

Удаление задач

При включённом "Удалять задачи для отклоненных уязвимостей" задача удаляется и тогда, когда её саму переводят в Jira в статус, сопоставленный "Отклонено". Если в Jira задачи закрывают как "ложное срабатывание", решите, нужно ли удаление, до включения вебхука.

Что синхронизируется

Событие Направление Результат
создание задачи вручную, массово или при верификации Core → Jira задача в пространстве команды
создание группы уязвимостей Core → Jira эпик группы; задачи уязвимостей группы связываются с ним
смена названия Core → Jira название задачи
смена описания, пути к файлу или строки Core → Jira описание задачи
изображение в уязвимости Core → Jira вложение задачи
теги уязвимости Core → Jira ярлыки задачи
смена критичности, установка CVSS Core → Jira приоритет, если включено сопоставление
смена статуса уязвимости Core → Jira перевод задач по двустороннему сопоставлению
отклонение уязвимости Core → Jira удаление задач, если включено
комментарии задачи команды продукта Core ↔ Jira Core показывает их в карточке уязвимости и добавляет новые
смена статуса задачи Jira → Core статус разбора по сопоставлению
назначение исполнителя Jira → Core статус "Назначено", дата для SLA
удаление задачи, создание и удаление связей Jira → Core обрабатываются по вебхуку

Флажок группы "Создать в Jira" управляет задачами, а не эпиком. Если уязвимость состоит в группах и ни у одной из них флажок не включён, создание задачи отклоняется: 409 "None of assigned groups allow task creation". Повторное создание эпика группы отклоняется: 409 "JIRA prod epic is already created".

Описание задачи можно дополнить или заменить своим текстом для каждого сканера: Настройки сканеров в Core. При автозакрытии уязвимости её задачи переходят в статус решения или удаляются.

Проверка

  1. Сохраните шаг 1: ошибки нет - учётные данные приняты.
  2. Создайте задачу из карточки тестовой уязвимости: задача появилась в пространстве команды.
  3. Переведите уязвимость в статус с двусторонним обновлением: задача перешла в статус Jira.
  4. Переведите задачу в Jira в сопоставленный статус: статус уязвимости изменился.

Ограничения

  • Один экземпляр Jira на установку Core.
  • Статус "Назначено" приходит только из Jira.
  • Комментарии из Jira не приходят вебхуком: Core читает их из задачи команды продукта при открытии карточки.