Интеграция с Bamboo 
Примечание
Чтобы настроить или удалить интеграцию в ТестОпс, вы должны иметь доступ к разделам:
- Администрирование — необходимы права администратора инстанса;
- Настройки в конкретном проекте — необходима роль владельца этого проекта.
Интеграция с Bamboo позволяет настроить следующие связи:
- Одна джоба ТестОпс будет соответствовать одному плану Bamboo.
- Один запуск джобы ТестОпс будет соответствовать одной сборке Bamboo (набору джоб в Bamboo).
Новая сборка Bamboo может быть запущена как на стороне ТестОпс, так и Bamboo. В обоих случаях статус запуска синхронизируется и отображается сразу в обеих системах.
Для интеграции ТестОпс с Bamboo используется плагин, который во время запуска тестов:
- Регулярно сканирует новые файлы в директории результатов тестов (например, build/allure-results, см. How it works в документации Allure Report).
- Делает паузу перед загрузкой нового файла, чтобы исключить передачу неполных данных.
- Загружает готовый файл на инстанс ТестОпс.
Это обеспечивает быструю передачу результатов тестов в ТестОпс и отображение промежуточных данных запуска до завершения джобы.
Настройка интеграции 
Чтобы настроить интеграцию с Bamboo:
- Настройте связь от ТестОпс к Bamboo: - На уровне инстанса ТестОпс добавьте интеграцию с Bamboo, указав: - название интеграции;
- URL-адрес Bamboo.
 
- На уровне инстанса или проекта ТестОпс включите добавленную интеграцию для проекта, указав учетные данные из Bamboo. 
 
- Настройте связь от Bamboo к ТестОпс: - Создайте API-токен в ТестОпс. 
- Установите плагин Allure TestOps в Bamboo, указав созданный API-токен из ТестОпс. - Примечание - Для интеграции с Bamboo используется плагин Allure TestOps, который совместим с ТестОпс. 
- Измените настройки плана в Bamboo. 
- Укажите директорию с результатами тестов в Bamboo. 
- Добавьте новую джобу в ТестОпс. 
- Включите поддержку тест-планов в джобе Bamboo. 
 
- Параметризируйте джобы в Bamboo и ТестОпс (если необходимо). 
Важно
Плагин для Bamboo не поддерживает инстансы ТестОпс с самоподписанными сертификатами.
Перед настройкой интеграции убедитесь, что вы используете правильно подписанный сертификат или рассмотрите возможность сделать ТестОпс доступным для вашего инстанса Bamboo через нешифрованный HTTP.
1. Настройте связь от ТестОпс к Bamboo 
1.1. Добавьте интеграцию с Bamboo в ТестОпс 
- Перейдите в ваш инстанс ТестОпс. 
- Перейдите в раздел Администрирование → Интеграции. 
- Нажмите + Добавить интеграцию в правом верхнем углу. 
- В списке доступных интеграций выберите Bamboo CI Server. 
- Заполните поля: - Название — название, которое поможет вам распознать интеграцию, например, Bamboo production.
- Endpoint — URL-адрес инстанса Bamboo, например, https://bamboo.example.com/.
 
- Если ваш инстанс Bamboo использует самоподписанный SSL-сертификат, поставьте галочку напротив Отключить проверку сертификата. 
- Нажмите Добавить интеграцию. 
1.2. Включите интеграцию для проекта ТестОпс 
Чтобы включить интеграцию в нужном проекте ТестОпс, воспользуйтесь одним из способов:
- Перейдите в раздел Администрирование → Интеграции.
- В списке настроенных интеграций найдите и откройте вашу интеграцию с Bamboo.
- Перейдите на вкладку Проекты.
- Справа от поля поиска нажмите +.
- В выпадающем списке Проект выберите нужный проект ТестОпс.
- В появившемся окне введите Имя пользователя и Пароль учетной записи Bamboo.
- Нажмите Проверить соединение. Если учетные данные верны, через несколько секунд появится сообщение «Соединение установлено».
- Нажмите Добавить интеграцию.
2. Настройте связь от Bamboo к ТестОпс 
Выполните шаги ниже, чтобы настроить вторую часть двусторонней связи: отправку статусов и результатов тестов из Bamboo в ТестОпс.
2.1. Создайте токен в ТестОпс 
- В ТестОпс нажмите на ваш аватар и перейдите в раздел API-токены. 
- Нажмите + Токен. 
- Введите название токена, которое поможет вам распознать интеграцию, например, Токен для Bamboo. 
- Нажмите Создать. - ТестОпс сгенерирует токен и отобразит его в модальном окне. 
- Нажмите иконку Копировать, чтобы скопировать токен в буфер обмена. - Cохраните токен в безопасном месте, он понадобится для настройки интеграции в Bamboo. 
2.2 Установите плагин для Bamboo 
- В Bamboo нажмите иконку шестеренки в правом верхнем углу и выберите Manage apps. 
- Нажмите Find new apps. 
- Используя поле поиска, найдите плагин Allure TestOps for Bamboo. 
- Нажмите Install рядом с плагином. 
- В появившемся окне нажмите Install, затем Accept & install. - Подождите, пока плагин загрузится и установится. 
2.3. Измените настройки плана в Bamboo 
- В панели управления Bamboo перейдите к вашему плану сборки. 
- Нажмите Actions → Configure plan. 
- Перейдите на вкладку Other. 
- В разделе Allure Upload заполните поля: - Enable Allure Upload— должно быть отмечено.
- Server endpoint URL — URL-адрес инстанса ТестОпс, например, https://testops.example.com.
- Server token — API-токен, который вы сохранили на шаге 2.1.
- Project ID — название проекта ТестОпс.
- Launch name — шаблон для именования запусков тестов. В этом поле можно использовать переменные Bamboo.
- Launch tags — список тегов, которые должны быть присвоены запуску тестов (через запятую).
 
- Нажмите Save. 
2.4. Укажите директорию с результатами тестов в Bamboo 
- В панели управления Bamboo перейдите к вашему плану сборки. 
- Нажмите Actions → Configure plan. 
- Нажмите на джобу, которая запускает тесты. 
- Перейдите на вкладку Other. 
- В поле Test Results Directories укажите путь к директории с результатами тестов, например, build/allure-results. - Если в вашем проекте несколько директорий с результатами тестов, вы можете разделить их запятыми или использовать шаблон с подстановочными символами, например, modules/*/build/allure-results. 
- Нажмите Save. 
2.5. Добавьте новую джобу в ТестОпс 
Самый простой и надежный способ создать джобу в ТестОпс — выполнить пайплайн Bamboo, загрузить результаты тестов в ТестОпс, а затем закрыть созданный запуск. ТестОпс автоматически создаст джобу для пайплайна Bamboo. Затем вам нужно будет настроить параметры, описанные в шаге 3.
Чтобы создать новую джобу вручную:
- Перейдите в ваш проект ТестОпс. 
- Перейдите в раздел Джобы. 
- Нажмите + Джоба в правом верхнем углу страницы. 
- В появившемся окне заполните поля: - Сервер сборки — название инстанса Bamboo, который вы добавили на шаге 1.1.
- Может выполнять тесты — если отмечено, пользователи смогут запускать эту джобу из интерфейса тест-кейсов.
- Джоба — название проекта Bamboo. Обратите внимание, что вы не можете добавить один и тот же проект Bamboo в ТестОпс дважды.
- Параметры — параметры, которые должны быть переданы в Bamboo через переменные окружения, см. Окружение.
 
- Нажмите Отправить. 
2.6. Включите поддержку тест-планов в джобе Bamboo 
- В панели управления Bamboo перейдите к вашему плану сборки. 
- Нажмите Actions → Configure plan. 
- Нажмите на джобу, которая запускает тесты. 
- В списке джоб выберите ту, которая запускает тесты. - Например, во многих проектах это будет джоба Script с командой, специфичной для фреймворка. 
- В поле Environment variables введите: - ALLURE_TESTPLAN_PATH=${bamboo.ALLURE_TESTPLAN_PATH}. 
- Нажмите Save. 
3. Параметризируйте джобы 
Bamboo использует переменные для передачи параметров в сборки. ТестОпс интегрирует эту функцию с собственной концепцией Окружения, что позволяет вам как задавать параметры для новых джоб, так и видеть параметры, установленные для джоб, запущенных вне ТестОпс.
Обратите внимание, что рекомендуется устанавливать одинаковые значения в ТестОпс и в Bamboo. В таком случае сборка Bamboo получит одно и то же окружение независимо от источника запуска.
Важно
Если ваш план Bamboo настроен на использование нескольких веток, убедитесь, что вы создали переменную окружения Branch в ТестОпс и передали ее в вашу джобу. Это специальное имя укажет Bamboo, какая из веток плана должна быть запущена.
3.1. Добавьте глобальные переменные окружения в ТестОпс 
- Перейдите в ваш инстанс ТестОпс. 
- Перейдите в раздел Администрирование → Окружения. 
- Для каждого параметра, который вы хотите добавить: - Нажмите + Создать.
- Введите название параметра.
- Нажмите Отправить.
  
3.2. Сопоставьте параметры с переменными окружения в ТестОпс 
- Перейдите в ваш проект ТестОпс. 
- Перейдите в раздел Настройки → Окружение. 
- Для каждого параметра, который вы хотите использовать: - Нажмите + Создать, если параметра нет в списке. Если параметр уже существует, нажмите иконку Редактировать рядом с его названием.
- В поле Ключ укажите название переменной окружения.
- В поле Переменная окружения выберите глобальное название параметра из шага 3.1.
- Нажмите Отправить.
  
3.3. Добавьте параметры в джобу ТестОпс 
- Перейдите в раздел Джобы. 
- Напротив джобы, которую вы хотите параметризировать, нажмите - ⋯→ Настроить.
- Для каждого параметра, который вы хотите добавить, в секции Параметры нажмите Добавить и заполните поля: - Название — название переменной окружения (такое же, как Ключ из шага 3.2).
- Значение — значение по умолчанию, которое должно использоваться, если не указано для конкретного запуска.
- Переменная окружения — переменная окружения из шага 3.1.
  
- Нажмите Отправить. 
3.4. Установите значения по умолчанию в Bamboo 
- В панели управления Bamboo перейдите к вашему плану сборки. 
- Нажмите Actions → Configure plan. 
- Перейдите на вкладку Variables. 
- Для каждого параметра, который вы хотите добавить: - В поле Variable name укажите название переменной окружения (такое же, как Ключ из шага 3.2).
- В поле Value укажите значение по умолчанию, которое должно использоваться, если не указано для конкретного запуска.
- Нажмите Add.
  
Удаление интеграции 
Вы можете удалить интеграцию с Bamboo двумя способами — на уровне всего инстанса ТестОпс (через раздел Администрирование) или на уровне отдельного проекта (через настройки проекта).
Важно
Последствия удаления интеграции:
- Удаление на уровне инстанса — связь с инстансом Bamboo будет удалена из всех джоб ТестОпс, которые относятся к интеграции: - Иконки для запуска и обновления этих джоб в разделе Джобы станут неактивными.
- Результаты запусков тестов из Bamboo не будут отправляться в инстанс ТестОпс.
 
- Удаление на уровне проекта — связь с инстансом Bamboo будет удалена из джобы ТестОпс, которая относится к интеграции и находится в этом проекте: - Иконки для запуска и обновления этой джобы в разделе Джобы останутся активными.
- ТестОпс не сможет запустить тесты из проекта на стороне Bamboo. После закрытия запуска результаты этих тестов получат статус «Неизвестный».
- Результаты запусков тестов из Bamboo не будут отправляться в проект ТестОпс.
 
- Перейдите в раздел Администрирование → Интеграции. 
- В списке настроенных интеграций найдите и откройте вашу интеграцию с Bamboo. 
- Перейдите на вкладку Проекты и убедитесь, что интеграция не используется в проектах ТестОпс. - Если интеграция подключена к проектам, удалите ее из них. Для этого напротив названия каждого проекта нажмите иконку корзины → Удалять. 
- Перейдите на вкладку Конфигурация. 
- Нажмите Удалить интеграцию. 
- Нажмите Удалить. 

