Интеграция с Jira Software Cloud
Jira Software Cloud — это облачная версия таск-трекера Jira. В этой статье описывается, как настроить интеграцию между инстансами Jira Software Cloud и ТестОпс.
- В запуски ТестОпс, результаты тестов и дефекты можно будет добавлять кликабельные ссылки на связанные задачи Jira.
- В задачах Jira будут отображаться связанные запуски и результаты тестов из ТестОпс.
- При закрытии задачи в Jira будет закрываться связанный дефект в ТестОпс.
Списки запусков и результатов тестов из ТестОпс добавляются в задачи в Jira с помощью компонента iFrame. Для этого ТестОпс не обязательно должен быть доступен из Jira Software Cloud, но он должен быть доступен с устройства пользователя. Это также означает, что работа интеграции может зависеть от настроек браузера пользователя, особенно если ваш инстанс ТестОпс использует HTTP, а не HTTPS. Если у ваших пользователей возникли проблемы при работе с интеграцией, пожалуйста, перейдите в раздел Устранение неполадок или свяжитесь с нашей службой поддержки.
Для добавления ссылки на задачу в тест-кейс вручную Jira должна быть доступна с сервера ТестОпс.
Совет
Для использования автоматической привязки между тест-кейсами и задачами Jira автор теста должен определить связь, используя адаптер Allure Report для своего тестового фреймворка. Пример такого определения:
ts
import { test } from "@playwright/test";
import { allure } from "allure-playwright";
test("Some test", async ({ page }) => {
allure.label("jira-prod", "BUG-123");
// ...
});
Этот код свяжет тест с задачей "BUG-123" в таск-трекере "jira-prod". Чтобы добавить ссылку на эту задачу в интерфейс, ТестОпс использует маппинг для значения "jira-prod", как будет показано на шаге 2.4.
Обратите внимание, что хотя приведенный выше пример работает, в реальном проекте мы рекомендуем использовать оберточную функцию вместо указания ключа с помощью allure.label()
каждый раз. Более подробную информацию можно найти в документации Allure Report для вашего тестового фреймворка.
1. Установите плагин для Jira
В Jira выберите Apps → Explore more apps в верхнем меню.
С помощью поля поиска найдите плагин Allure TestOps for Jira.
Нажмите Get app рядом с плагином.
В появившемся окне нажмите Get it now.
Подождите, пока не появится сообщение “Allure TestOps for Jira installed successfully”.
2. Включите ссылки Jira в ТестОпс
После завершения этого шага настройки ТестОпс будет поддерживать добавление ссылок на задачи Jira в запусках и в результатах тестов.
Сначала администратору нужно указать URL-адрес сервера Jira.
Затем владельцу проекта нужно создать токен аутентификации в Jira, добавить его в ТестОпс и настроить маппинг задач.
2.1. Укажите URL-адрес Jira в ТестОпс
Войдите в ТестОпс, используя учетную запись администратора.
Перейдите в раздел Администрирование → Интеграции.
Нажмите + Добавить интеграцию в правом верхнем углу страницы.
В появившемся окне выберите Jira Software Cloud.
Заполните поля:
- Название — название, которое поможет вам распознать инстанс Jira, например, Jira production.
- Endpoint — URL-адрес инстанса Jira, например, https://example.atlassian.net/.
Нажмите Добавить интеграцию.
2.2. Создайте токен в Jira
В Jira нажмите на ваш аватар и перейдите в Manage account.
В верхнем меню перейдите в Security.
В разделе API tokens нажмите Create and manage API tokens.
Нажмите Create API token.
Введите название, которое поможет вам распознать токен, например, «Токен для ТестОпс».
Нажмите Create, затем нажмите Copy.
Новый токен будет скопирован в буфер обмена. Вам понадобится этот токен на следующем шаге.
2.3. Добавьте токен в ТестОпс
Откройте ваш проект в ТестОпс.
Перейдите в раздел Настройки → Интеграции.
В разделе Доступные интеграции найдите интеграцию Jira Software Cloud и нажмите Добавить интеграцию рядом с ней.
В появившемся окне заполните поля:
- Username — электронная почта, которую вы используете для входа в Jira Software Cloud.
- API token — API-токен, который вы получили на шаге 2.2.
Нажмите Проверить соединение. Если учетные данные верны, через несколько секунд появится сообщение «Соединение установлено».
Нажмите Добавить интеграцию, чтобы сохранить настройки.
2.4. Настройте маппинг задач
Откройте ваш проект в ТестОпс.
Перейдите в раздел Настройки → Задачи из баг-трекера.
Нажмите + Создать.
Заполните поля:
- Ключ — короткий идентификатор интеграции, который вы собираетесь использовать при написании тестов.
- Баг-трекер — название интеграции, которую вы добавили на шаге 2.1.
Нажмите Отправить.
3. Настройте встраивание данных в Jira
После завершения этого шага настройки ваш инстанс Jira Software Cloud будет отображать ссылки на запуски и результаты тестов в ТестОпс.
Сначала убедитесь, что в ТестОпс включены защищенные cookies. Затем найдите ID интеграции и используйте его при настройке плагина в Jira.
3.1. Включите защищенные cookies в ТестОпс
По соображениям безопасности веб-браузер пользователя может блокировать обмен cookies между двумя разными веб-сайтами, такими как ТестОпс и Jira. Это может помешать добавлению информации из ТестОпс на страницу Jira.
Чтобы это исправить, убедитесь, что защищенные cookies включены для вашего инстанса ТестОпс.
В файле values.yaml установите для параметра network.tls.secureCookie
значение true
.
3.2. Найдите ID интеграции в ТестОпс
Войдите в ТестОпс, используя учетную запись администратора.
Перейдите в раздел Администрирование → Интеграции.
Найдите интеграцию Jira Software Cloud.
Скопируйте ID, который отображается рядом с названием интеграции. Этот ID понадобится вам на следующем шаге.
3.3. Настройте плагин в Jira
В Jira выберите Apps → Manage your apps в верхнем меню.
Разверните раздел Allure TestOps for JIRA и нажмите Configure.
Заполните поля:
General settings
- Enabled — должно быть отмечено.
- Endpoint — URL-адрес вашего инстанса ТестОпс, например, “https://demo.testops.cloud”. Убедитесь, что в URL-адресе нет слэша в конце, так как это может привести к некорректному поведению плагина.
- Version — Version 4.x.x.
- Integration ID — ID, который вы получили в ТестОпс на шаге 3.2.
Panels location
- Test Cases — расположение списка результатов тестов.
- Launches — расположение списка запусков.
Важно
Хотя с помощью настроек Panels location можно переместить списки на правую сторону страницы (как показано на скриншоте выше), делать это не рекомендуется. В отличие от основной области, правая сторона интерфейса Jira очень ограничена по ширине, что может сделать список ТестОпс неудобным на большинстве дисплеев.
Нажмите Save.
4. Включите синхронизацию жизненных циклов задач
ТестОпс поддерживает вебхуки Jira. Jira использует вебхуки для того, чтобы уведомить внешний сервис об изменении статуса задачи. При получении такого уведомления ТестОпс найдет все дефекты, связанные с задачей, и обновит их статус.
Чтобы включить синхронизацию жизненного цикла, создайте вебхук в ТестОпс и добавьте его в Jira.
4.1. Создайте вебхук в ТестОпс
Войдите в ТестОпс, используя учетную запись администратора.
Перейдите в раздел Администрирование → Интеграции.
Найдите интеграцию Jira Software Cloud и нажмите на ее название.
Перейдите на вкладку Вебхуки.
Нажмите + Создать вебхук, затем нажмите Подтвердить создание.
В появившемся окне нажмите значок Копировать, чтобы скопировать URL-адрес вебхука в буфер обмена.
Этот URL-адрес понадобится вам на следующем шаге.
4.2. Добавьте вебхук в Jira
В Jira нажмите на значок шестеренки в правом верхнем углу и выберите System.
В меню слева нажмите Advanced → WebHooks.
Нажмите Create a WebHook.
Заполните поля:
- Name — название, которое поможет вам распознать вебхук.
- Status — Enabled.
- URL — URL-адрес вебхука, который вы получили на шаге 4.1.
- Issue related events — выберите Issue → updated.
Нажмите Create внизу страницы.
Устранение неполадок
В задачах Jira просмотр и управление сущностями ТестОпс осуществляется через компонент iFrame. Ниже приведены примеры возможных ошибок, которые могут отображаться в iFrame, и рекомендации по их устранению.
В разделах iFrame отображается значок ошибки подключения или сообщение об ошибке
Если в iFrame отображается ошибка подключения (значок или текст “502 Bad Gateway”) вместо данных из ТестОпс, перейдите в ваш инстанс ТестОпс и убедитесь, что он доступен.
Если ТестОпс открывается, но проблема остается, это означает, что настройки Jira Software Cloud не позволяют странице встраивать элементы iFrame для вашего домена ТестОпс. Чтобы решить эту проблему, вам придется связаться со службой поддержки Atlassian. Перед этим мы рекомендуем определить URL-адрес раздела iFrame, который не отображается.
Откройте задачу Jira, в которой должно отображаться содержимое ТестОпс.
Откройте инструменты разработчика в вашем браузере:
- В верхнем меню перейдите в раздел View → Developer → Developer Tools.
- Нажмите значок Select an element in the page to inspect it или нажмите Ctrl+Shift+C.
Наведите курсор на область, в которой должны отображаться данные из ТестОпс. В дереве исходного кода HTML найдите элемент
<iframe>
, который соответствует этой области.Скопируйте URL-адрес из атрибута
src
в элементе<iframe>
.Важно
Веб-страница может содержать несколько элементов
<iframe>
, в том числе вложенных друг в друга. Убедитесь, что URL-адрес, который вы скопировали, указывает на домен ТестОпс.Напишите в службу поддержки Atlassian, предоставив URL-адрес из элемента
<iframe>
.
В разделах iFrame отображается кнопка входа
Если вы вошли в ТестОпс, но все еще видите кнопку Login в задаче Jira, скорее всего, это вызвано настройками безопасности вашего браузера. Следуйте инструкции для вашего браузера ниже, чтобы убедиться, что связь между Jira и iFrame ТестОпс разрешена.
Совет
Эти действия нужно совершить каждому пользователю, который столкнулся с проблемой.
Перейдите в настройки браузера (chrome://settings/cookies).
Перейдите в раздел Privacy and security → Third-party cookies.
Выберите Allow third-party cookies.
В разделах iFrame отображается сообщение “Couldn't connect to Allure TestOps”
Сообщение “Couldn't connect to Allure TestOps” означает, что в настройках плагина в Jira указан неверный ID интеграции.
Чтобы исправить ошибку:
- Найдите нужный ID интеграции в ТестОпс.
- Проверьте, что этот ID указан в настройках плагина.