Интеграция с 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 для вашего тестового фреймворка.
Настройка интеграции
Примечание
Чтобы настроить интеграцию в ТестОпс, вы должны иметь доступ к разделам:
- Администрирование — необходимы права администратора инстанса;
- Настройки в конкретном проекте — необходима роль владельца этого проекта.
Чтобы настроить интеграцию с Jira:
Создайте токен в Jira.
На уровне инстанса ТестОпс добавьте интеграцию с Jira, указав:
- название интеграции;
- URL-адрес Jira.
На уровне инстанса или проекта ТестОпс включите добавленную интеграцию для проекта, указав учетные данные из Jira.
Настройте маппинг задач в ТестОпс.
Настройте встраивание данных из ТестОпс в Jira, установив плагин ТестОпс.
Включите синхронизацию жизненных циклов задач, настроив вебхуки между Jira и ТестОпс.
1. Включите ссылки Jira в ТестОпс
После завершения этого шага настройки ТестОпс будет поддерживать добавление ссылок на задачи Jira в запусках и в результатах тестов.
1.1. Создайте токен в Jira
В Jira нажмите на ваш аватар и перейдите в Manage account.
В верхнем меню перейдите в Security.
В разделе API tokens нажмите Create and manage API tokens.
Нажмите Create API token.
Введите название, которое поможет вам распознать токен, например, «Токен для ТестОпс».
Нажмите Create, затем нажмите Copy, чтобы скопировать токен в буфер обмена.
Сохраните токен в безопасном месте, он понадобится для настройки интеграции в проекте ТестОпс.
1.2. Добавьте интеграцию с Jira в ТестОпс
Перейдите в ваш инстанс ТестОпс.
Перейдите в раздел Администрирование → Интеграции.
Нажмите + Добавить интеграцию в правом верхнем углу.
В списке доступных интеграций выберите Jira Software Cloud.
Заполните поля:
- Название — название, которое поможет вам распознать интеграцию, например, Jira production.
- Endpoint — URL-адрес вашего инстанса Jira, например, https://example.atlassian.net/.
Нажмите Добавить интеграцию.
1.3. Включите интеграцию для проекта ТестОпс
Чтобы включить интеграцию в нужном проекте ТестОпс воспользуйтесь одним из двух способов ниже:
Перейдите в раздел Администрирование → Интеграции.
В списке настроенных интеграций найдите и откройте вашу интеграцию с Jira Software Cloud.
Перейдите на вкладку Проекты.
Нажмите + справа от поля поиска.
В выпадающем списке Проект выберите нужный проект.
В появившемся окне заполните поля:
- Username — электронная почта, которую вы используете для входа в Jira Software Cloud.
- API token — API-токен, который вы сохранили на шаге 1.1.
Нажмите Проверить соединение. Если учетные данные верны, через несколько секунд появится сообщение «Соединение установлено».
Нажмите Добавить интеграцию, чтобы сохранить настройки.
1.4. Настройте маппинг задач
Перейдите в ваш проект в ТестОпс.
Перейдите в раздел Настройки → Задачи из баг-трекера.
Нажмите + Создать.
Заполните поля:
- Ключ — короткий идентификатор интеграции, который вы собираетесь использовать при написании тестов.
- Баг-трекер — название интеграции, которую вы добавили на шаге 1.2.
Нажмите Отправить.
2. Настройте встраивание данных из ТестОпс в Jira
После завершения этого шага настройки ваш инстанс Jira Software Cloud будет отображать ссылки на запуски и результаты тестов в ТестОпс.
2.1. Включите защищенные cookies в ТестОпс
По соображениям безопасности веб-браузер пользователя может блокировать обмен cookies между двумя разными веб-сайтами, такими как ТестОпс и Jira. Это может помешать добавлению информации из ТестОпс на страницу Jira.
Чтобы это исправить, убедитесь, что защищенные cookies включены для вашего инстанса ТестОпс.
В файле values.yaml установите для параметра network.tls.secureCookie
значение true
.
2.2. Найдите ID интеграции в ТестОпс
Перейдите в раздел Администрирование → Интеграции.
В списке настроенных интеграций найдите вашу интеграцию с Jira Software Cloud.
Скопируйте ID, который отображается слева от названия интеграции.
Этот ID понадобится вам для настройки плагина ТестОпс в Jira.
2.3. Подключите плагин ТестОпс для Jira
В Jira выберите Apps → Explore more apps в верхнем меню.
С помощью поля поиска найдите плагин Allure TestOps for Jira.
Нажмите Get app рядом с плагином.
В появившемся окне нажмите Get it now.
Подождите, пока не появится сообщение “Allure TestOps for Jira installed successfully”.
Выберите Apps → Manage your apps в верхнем меню.
Разверните раздел Allure TestOps for JIRA и нажмите Configure.
Заполните поля:
General settings
- Enabled — должно быть отмечено.
- Endpoint — URL-адрес вашего инстанса ТестОпс, например, https://testops.example.com. Убедитесь, что в URL-адресе нет слэша в конце, так как это может привести к некорректному поведению плагина.
- Version — Version 4.x.x.
- Integration ID — ID интеграции Jira Software Cloud, который вы скопировали на шаге 2.2.
Panels location
- Test Cases — расположение списка результатов тестов.
- Launches — расположение списка запусков.
Важно
Хотя с помощью настроек Panels location можно переместить списки на правую сторону страницы (как показано на скриншоте выше), делать это не рекомендуется. В отличие от основной области, правая сторона интерфейса Jira очень ограничена по ширине, что может сделать список ТестОпс неудобным на большинстве дисплеев.
Нажмите Save.
3. Включите синхронизацию жизненных циклов задач
ТестОпс поддерживает вебхуки Jira. Jira использует вебхуки для того, чтобы уведомить внешнюю систему об изменении статуса задачи. При получении такого уведомления ТестОпс найдет все дефекты, связанные с задачей, и обновит их статус.
3.1. Создайте вебхук в ТестОпс
Перейдите в ваш инстанс ТестОпс.
Перейдите в раздел Администрирование → Интеграции.
В списке настроенных интеграций найдите и откройте вашу интеграцию с Jira Software Cloud.
Перейдите на вкладку Вебхуки.
Нажмите + Создать вебхук, затем нажмите Подтвердить создание.
Нажмите значок Копировать, чтобы скопировать URL-адрес вебхука в буфер обмена.
Этот URL-адрес понадобится вам на следующем шаге.
3.2. Добавьте вебхук из ТестОпс в Jira
В Jira нажмите на значок шестеренки в правом верхнем углу и выберите System.
В меню слева нажмите Advanced → WebHooks.
Нажмите Create a WebHook.
Заполните поля:
- Name — название, которое поможет вам распознать вебхук.
- Status — Enabled.
- URL — URL-адрес вебхука, который вы скопировали на шаге 3.1.
- Issue related events — выберите Issue → updated.
Нажмите Create внизу страницы.
Устранение неполадок
В задачах Jira просмотр и управление сущностями ТестОпс осуществляется через компонент iFrame. Ниже приведены примеры возможных ошибок, которые могут отображаться в iFrame, и рекомендации по их устранению.
В разделах iFrame отображается кнопка входа
Если вы вошли в ТестОпс, но все еще видите кнопку Login в задаче Jira, скорее всего, это вызвано настройками безопасности вашего браузера. Следуйте инструкции для вашего браузера ниже, чтобы убедиться, что связь между Jira и iFrame ТестОпс разрешена.
Примечание
Эти действия нужно совершить каждому пользователю, который столкнулся с проблемой.
Перейдите в настройки браузера в раздел Privacy and security → Third-party cookies (chrome://settings/cookies).
Выберите Allow third-party cookies.
В разделах iFrame отображается сообщение “Couldn't connect to Allure TestOps”
Сообщение “Couldn't connect to Allure TestOps” означает, что в настройках плагина в Jira указан неверный ID интеграции.
Чтобы исправить ошибку:
- Найдите нужный ID интеграции в ТестОпс.
- Проверьте, что этот ID указан в настройках плагина.
В разделах 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>
.