Тема
Яга
Интеграция с трекером Яга позволяет:
- заводить баг-репорты в Яге прямо из прогона;
- синхронизировать статусы связанных багов в обе стороны: смена статуса в Яге меняет статус бага в DoQA, и наоборот;
- использовать Ягу как источник требований.
Подключение
Для подключения нужны адреса Яги и пара токенов учётной записи, у которой есть доступ к нужному проекту в Яге.
Получите токены. Откройте Ягу в браузере и войдите под учётной записью, от имени которой будет работать интеграция. Нажмите F12 и откройте Application (Приложение) → Local Storage (Локальное хранилище), выберите адрес сайта Яги. Скопируйте без кавычек значение
jaga.accessToken— это токен доступа, и значениеjaga.refreshToken— токен обновления.Если таких записей нет, запросите пару токенов доступа и обновления для вашей учётной записи у администратора Яги.
В разделе Интеграции в настройках администратора нажмите «Подключить» на карточке «Яга».
Заполните форму «Подключить Ягу»:
- «Адрес сайта Яги» — адрес, по которому пользователи открывают Ягу, например
https://yaga.example.com; - «Адрес внешнего API» — например
https://task.yaga.example.com/external-api; - «Токен доступа»;
- «Токен обновления».
- «Адрес сайта Яги» — адрес, по которому пользователи открывают Ягу, например
Нажмите «Подключить».
При подключении DoQA проверяет адреса, токены и доступ учётной записи. Если проверка не прошла, интеграция не создаётся, а в форме появляется сообщение «Не удалось подключиться. Проверьте адреса, токены и доступ к проекту.»
Токены DoQA хранит в зашифрованном виде и обновляет сама, когда истекает срок токена доступа. Если токены перестали действовать (например, учётную запись заблокировали или пароль сменили), нажмите на карточке интеграции «Обновить токены Яги» и введите новую пару. Адреса, связи проектов и уже созданные связи багов при этом сохраняются.
Серверная версия
Если сертификат Яги выпущен корпоративным удостоверяющим центром, укажите путь к файлу с цепочкой сертификатов в переменной окружения YAGA_CA_BUNDLE бэкенда. Без этого DoQA не сможет установить защищённое соединение с Ягой.
Настройка интеграции проекта
В общих настройках проекта нажмите «Настроить интеграцию» и в поле «Тип интеграции» выберите «Яга». Откроется окно «Настройка интеграции багов с Ягой».
Выберите «Проект» в Яге и «Тип задачи для багов» — тип задач, которые будут создаваться из DoQA.
Сопоставьте статусы DoQA («Открыт», «В работе», «Тестирование», «Закрыт») со статусами Яги. Список статусов берётся из процесса (workflow) выбранного типа задачи. Сопоставление приоритетов для Яги не настраивается.
Нажмите «Сохранить».
Нескольким статусам DoQA можно сопоставить один статус Яги. Тогда при входящей синхронизации текущий статус бага в DoQA сохраняется, если он уже соответствует статусу в Яге. Иначе выбирается подходящий статус в порядке «Закрыт», «Тестирование», «В работе», «Открыт».
Настройки интеграции проекта можно изменить или удалить так же, как для остальных трекеров, см. Управление настройками интеграции.
Создание бага в Яге
Баг заводится из прогона так же, как в других трекерах. В Ягу передаются заголовок и описание бага, а также текстовые поля выбранного типа задачи: они появляются в форме создания бага. Задача создаётся в статусе, сопоставленном статусу бага в DoQA.
Внимание
Приоритет и вложения сохраняются только в DoQA и в Ягу не передаются. Форма создания бага предупреждает об этом.
После создания в баге DoQA сохраняется код задачи Яги со ссылкой на неё.
Синхронизация статусов
Отдельно настраивать обратную интеграцию не нужно: в отличие от других трекеров, вебхук в Яге не используется. DoQA сама раз в минуту опрашивает Ягу и сверяет статусы связанных багов в обе стороны:
- статус задачи сменили в Яге — статус бага в DoQA меняется по сопоставлению из настроек проекта;
- статус бага сменили в DoQA — DoQA переводит задачу в Яге в сопоставленный статус. Если процесс Яги не допускает такой переход или переход требует заполнить форму, статус в Яге не меняется.
Если правка сделана в обеих системах одновременно, приоритет у неподтверждённой правки в DoQA. Если связь с Ягой временно недоступна, DoQA повторит синхронизацию этого бага через пять минут.
Синхронизируются только статусы. Заголовок, описание, приоритет и вложения после создания задачи не переносятся ни в одну из сторон.
Яга как источник требований
Подключённую интеграцию с Ягой можно использовать как источник требований: требованиями становятся задачи выбранного проекта Яги. Настройка выполняется на вкладке «Коннектор требований» в настройках пространства, см. Коннектор требований.
- Проект-источник — проект Яги, задачи которого загружаются как требования.
- Фильтр импорта (JAWL) — необязательный фильтр внутри выбранного проекта, например
taskStatus = "Сделать". Пустой фильтр загружает все задачи проекта. Фильтр ограничивает загрузку, но ранее загруженные требования и их связи не удаляет. - Поле ссылок на связанные проверки — необязательное текстовое поле (тип TEXT с одним значением), куда DoQA публикует ссылки на связанные тест-кейсы и чек-листы. Выберите существующее поле или «Создать автоматически»: DoQA создаст поле или использует уже созданное и добавит его во все типы задач проекта. Поле должно иметь одинаковый ID во всех типах задач. Для автоматической настройки учётной записи интеграции нужны права на редактирование задач и управление полями.
- Статус задачи Яги — покрытие публикуется в Ягу только через статус задачи. Сопоставьте пять состояний покрытия DoQA со статусами задач Яги. Несколько состояний покрытия могут соответствовать одному статусу; для «Требуется актуализация» нужен отдельный статус или пустое соответствие. Если оставить все соответствия пустыми, DoQA не будет менять статусы задач.
Совет
Вебхука для требований у Яги нет: изменения требований загружаются вручную кнопкой «Обновить из трекера», см. Ручное обновление.