Интеграция с Jira Data Center (Jira Server)
Jira Data Center (ранее Jira Server) — это версия таск-трекера Jira для локального развертывания. В этой инструкции описывается, как настроить интеграцию между инстансами Jira Data Center и ТестОпс.
Примечание
Чтобы настроить или удалить интеграцию в ТестОпс, вы должны иметь доступ к разделам:
- Администрирование — необходимы права администратора инстанса;
- Настройки в конкретном проекте — необходима роль владельца этого проекта.
Интеграция с Jira Data Center позволяет:
- связывать сущности ТестОпс (тест-кейсы, запуски, результаты тестов, дефекты, карантин) с задачами Jira Data Center;
- создавать задачи Jira Data Center через интерфейс открытого дефекта в ТестОпс (подробнее см. Связывание дефектов с задачами);
- просматривать и управлять связанными тест-кейсами из ТестОпс в задачах Jira Data Center;
- просматривать связанные запуски и результаты тестов из ТестОпс в задачах Jira Data Center.
Списки тест-кейсов, результатов тестов и запусков из ТестОпс добавляются в задачи в Jira с помощью компонента iFrame. Для этого ТестОпс не обязательно должен быть доступен с сервера Jira, но он должен быть доступен с устройства пользователя. Это также означает, что работа интеграции может зависеть от настроек браузера пользователя, особенно если инстанс Jira Data Center использует HTTPS. Если у ваших пользователей возникли проблемы при работе с интеграцией, пожалуйста, перейдите в раздел Устранение неполадок или свяжитесь с нашей службой поддержки.
Для добавления ссылки на задачу в тест-кейс вручную Jira должна быть доступна с сервера ТестОпс.
Совет
Для использования автоматической привязки между тест-кейсами и задачами Jira автор теста должен определить связь, используя адаптер Allure Report для своего тестового фреймворка. Пример такого определения:
ts
import { test } from "@playwright/test";
import { allure } from "allure-playwright";
test("Some test", async ({ page }) => {
allure.label("jira", "BUG-123");
// ...
});
Этот код свяжет тест с задачей "BUG-123" в таск-трекере "jira". Чтобы добавить ссылку на эту задачу в интерфейс, ТестОпс использует маппинг для значения "jira", как будет показано на шаге 1.4.
Обратите внимание, что хотя приведенный выше пример работает, в реальном проекте мы рекомендуем использовать оберточную функцию вместо указания ключа с помощью allure.label()
каждый раз. Более подробную информацию можно найти в документации Allure Report для вашего тестового фреймворка.
Настройка интеграции
Чтобы настроить интеграцию с Jira:
Создайте токен в Jira.
На уровне инстанса ТестОпс добавьте интеграцию с Jira, указав:
- название интеграции;
- URL-адрес Jira.
На уровне инстанса или проекта ТестОпс включите добавленную интеграцию для проекта, указав учетные данные из Jira.
Настройте маппинг задач в ТестОпс.
Настройте встраивание данных из ТестОпс в Jira, установив плагин ТестОпс.
Включите синхронизацию жизненных циклов задач, настроив вебхуки между Jira и ТестОпс.
1. Включите ссылки Jira в ТестОпс
Выполнив этот шаг, вы сможете добавлять ссылки на задачи Jira в сущностях ТестОпс.
1.1. Создайте токен в Jira
Примечание
Пропустите этот шаг, если вы планируете использовать свое имя пользователя и пароль в качестве учетных данных.
В Jira нажмите на ваш аватар и перейдите в Profile.
В сайдбаре слева перейдите в раздел Personal access tokens.
Нажмите Create token.
Заполните поля:
- Token Name — название, которое поможет вам распознать токен, например Токен для ТестОпс.
- Expiry date — срок действия токена. После указанной даты интеграция перестанет работать. Чтобы возобновить ее работу, вам нужно будет создать новый токен. Чтобы создать бессрочный токен, снимите галочку Automatic expiry.
Нажмите Create.
Новый токен станет временно видимым. Скопируйте и сохраните токен в безопасном месте, он понадобится для настройки интеграции в проекте ТестОпс.
1.2. Добавьте интеграцию с Jira в ТестОпс
Перейдите в ваш инстанс ТестОпс.
Перейдите в раздел Администрирование → Интеграции.
Нажмите + Добавить интеграцию в правом верхнем углу.
В списке доступных интеграций выберите Jira Server (DC).
Заполните поля:
- Название — название, которое поможет вам распознать интеграцию, например, Jira production.
- Endpoint — URL-адрес вашего инстанса Jira, например, https://jira.example.com/.
Если ваш инстанс Jira Data Center использует самоподписанный SSL-сертификат, поставьте галочку Отключить проверку сертификата.
Нажмите Добавить интеграцию.
1.3. Включите интеграцию для проекта ТестОпс
Чтобы включить интеграцию в нужном проекте ТестОпс воспользуйтесь одним из двух способов ниже:
Перейдите в раздел Администрирование → Интеграции.
В списке настроенных интеграций найдите и откройте вашу интеграцию с Jira Data Center.
Перейдите на вкладку Проекты.
Нажмите + справа от поля поиска.
В выпадающем списке Проект выберите нужный проект.
В появившемся окне введите учетные данные для подключения к Jira. Вы можете использовать базовую аутентификацию или аутентификацию с помощью токена.
Базовая аутентификация
На вкладке basic введите имя пользователя и пароль учетной записи в Jira.
Аутентификация с помощью токена
На вкладке token введите токен, который вы получили на шаге 1.1.
Нажмите Проверить соединение. Если учетные данные верны, через несколько секунд появится сообщение «Соединение установлено».
Нажмите Добавить интеграцию, чтобы сохранить настройки.
1.4. Настройте маппинг задач в ТестОпс
Перейдите в ваш проект в ТестОпс.
Перейдите в раздел Настройки → Задачи из баг-трекера.
Нажмите + Создать.
Заполните поля:
- Ключ — короткий идентификатор интеграции, который вы собираетесь использовать при написании тестов, например, jira.
- Баг-трекер — название интеграции, которую вы добавили на шаге 1.2.
Нажмите Отправить.
2. Настройте встраивание данных из ТестОпс в Jira
Выполнив этот шаг, вы сможете просматривать список связанных сущностей ТестОпс в задачах Jira.
2.1. Включите защищенные cookies в ТестОпс
Примечание
Этот раздел предполагает, что и ТестОпс, и Jira Data Center настроены на использование зашифрованного протокола HTTPS. В остальных случаях, пожалуйста, свяжитесь с нашей службой поддержки.
По соображениям безопасности браузер пользователя может блокировать обмен cookies между двумя разными сайтами, такими как ТестОпс и Jira. Это может помешать добавлению информации из ТестОпс на страницу Jira.
Чтобы это исправить, убедитесь, что защищенные cookies включены для вашего инстанса ТестОпс.
В файле values.yaml установите для параметра network.tls.secureCookie
значение true
.
2.2. Найдите ID интеграции в ТестОпс
Чтобы определить ID добавленной интеграции, воспользуйтесь одним из двух способов ниже:
Перейдите в раздел Администрирование → Интеграции.
В списке настроенных интеграций найдите вашу интеграцию с Jira Data Center.
Скопируйте ID, который отображается слева от названия интеграции.
Этот ID понадобится вам для настройки плагина ТестОпс в Jira.
2.3. Подключите плагин ТестОпс для Jira
Скачайте архив с плагином по адресу https://dl.qatools.ru/service/rest/repository/browse/public/qatools-jira-server-plugin/.
В Jira в правом верхнем углу нажмите иконку Settings и выберите Manage apps.
Если нужно, введите пароль администратора Jira.
Нажмите Upload app.
Выберите загруженный архив с плагином и нажмите Upload.
Дождитесь установки плагина.
В сайдбаре слева перейдите в раздел Manage apps.
Разверните раздел Дополнительный модуль ТестОпс для JIRA и нажмите Configure.
Заполните поля:
- Config — если вы настраиваете плагин впервые или вам нужно добавить интеграцию с новым инстансом ТестОпс, выберите Create new config. В противном случае выберите URL-адрес инстанса, для которого вы хотите обновить настройки.
- Endpoint — URL-адрес вашего инстанса ТестОпс, например, https://testops.example.com. Убедитесь, что в URL-адресе нет слэша в конце, так как это может привести к некорректному поведению плагина.
- Version — Version after 5.17.x.
- Integration ID — ID интеграции Jira Data Center, который вы скопировали на шаге 2.2.
- Selected groups, Groups — группы Jira, для которых будет включен плагин. Чтобы включить его для пользователей из всех групп, оставьте опцию Selected groups неотмеченной.
- Selected projects, Projects — проекты Jira, для которых будет включен плагин. Чтобы включить его для пользователей из всех проектов, оставьте опцию Selected projects неотмеченной.
Нажмите Save.
3. Включите синхронизацию жизненных циклов задач
ТестОпс поддерживает вебхуки Jira. Jira использует вебхуки для того, чтобы уведомить внешнюю систему об изменении статуса задачи. При получении такого уведомления ТестОпс найдет все дефекты, связанные с задачей, и обновит их статус.
3.1. Создайте вебхук в ТестОпс
Перейдите в ваш инстанс ТестОпс.
Перейдите в раздел Администрирование → Интеграции.
В списке настроенных интеграций найдите и откройте вашу интеграцию с Jira Data Center.
Перейдите на вкладку Вебхуки.
Нажмите + Создать вебхук, затем нажмите Подтвердить создание.
Нажмите иконку Копировать, чтобы скопировать URL-адрес вебхука в буфер обмена.
Этот URL-адрес понадобится вам на следующем шаге.
3.2. Добавьте вебхук из ТестОпс в Jira
В Jira в правом верхнем углу нажмите иконку Settings и выберите System.
В сайдбаре слева в разделе Advanced нажмите WebHooks.
Нажмите Create a WebHook.
Заполните поля:
- Name — название, которое поможет вам распознать вебхук.
- Status — Enabled.
- URL — URL-адрес вебхука, который вы скопировали на шаге 3.1.
- Issue related events — выберите Issue → updated.
Нажмите Create внизу страницы.
Удаление интеграции
Вы можете удалить интеграцию с Jira двумя способами — на уровне всего инстанса ТестОпс или на уровне отдельного проекта.
Важно
Последствия удаления интеграции:
Удаление на уровне инстанса — все связи с задачами Jira, которые относятся к интеграции, будут удалены из сущностей ТестОпс. Это действие необратимо — восстановить удалённые ссылки будет невозможно.
Удаление на уровне проекта — все связи с задачами Jira, которые относятся к интеграции, будут сохранены в сущностях ТестОпс, но вы не сможете создавать новые связи для этого проекта.
Чтобы удалить интеграцию на уровне инстанса ТестОпс, предварительно удалите ее из проектов, в которых она используется.
- Перейдите в раздел Администрирование → Интеграции.
- В списке настроенных интеграций найдите и откройте вашу интеграцию с Jira Data Center.
- На вкладке Конфигурация нажмите Удалить интеграцию.
- Нажмите Удалить.
Устранение неполадок
В задачах Jira просмотр и управление сущностями ТестОпс осуществляется через компонент iFrame. Ниже приведены примеры возможных ошибок, которые могут отображаться в iFrame, и рекомендации по их устранению.
В iFrame отображается кнопка входа
Если вы вошли в ТестОпс, но все еще видите кнопку Sign in в задаче Jira, скорее всего, это вызвано настройками безопасности вашего браузера. Следуйте инструкции для вашего браузера ниже, чтобы убедиться, что связь между Jira и iFrame ТестОпс разрешена.
Примечание
Эти действия нужно совершить каждому пользователю, который столкнулся с проблемой.
Перейдите в настройки браузера в раздел Privacy and security → Third-party cookies (chrome://settings/cookies).
Выберите Allow third-party cookies.
iFrame не отображает содержимое
Отстутствие содержимого в iFrame (пустое окно) обычно означает, что ваш инстанс Jira использует HTTPS, а ТестОпс использует HTTP. Такая конфигурация не поддерживается, поэтому мы рекомендуем переключиться на HTTPS для обоих продуктов. См. Включение HTTPS.
После включения HTTPS для ТестОпс обязательно замените http на https в настройках плагина.
В iFrame отображается сообщение “Couldn't connect to ТестОпс"
Сообщение “Couldn't connect to ТестОпс" означает, что в настройках плагина в Jira указан неверный ID интеграции.
Чтобы исправить ошибку:
- Найдите нужный ID интеграции в ТестОпс.
- Проверьте, что этот ID указан в настройках плагина.