Интеграция с TeamCity с помощью плагина
Интеграция с TeamCity с помощью плагина позволяет:
- запускать сборку TeamCity из интерфейса ТестОпс через запуск джобы ТестОпс;
- автоматически передавать результаты тестов из сборки TeamCity в ТестОпс с помощью плагина;
- синхронизировать статус запуска сборки сразу в обеих системах — ТестОпс и TeamCity.
В настроенной интеграции одна джоба ТестОпс соответствует одной конфигурации сборки TeamCity, а один запуск джобы ТестОпс — одному запуску сборки TeamCity.
Совет
Если вам необходимо только импортировать результаты тестов из TeamCity без возможности управлять сборками из интерфейса ТестОпс, вы можете настроить ограниченный вариант интеграции с помощью allurectl.
Примечание
Чтобы настроить или удалить любую интеграцию ТестОпс с внешней системой, необходима глобальная роль «Администратор» в инстансе ТестОпс и, как правило, права администратора инстанса внешней системы.
Настройка интеграции и подключений с TeamCity
Чтобы настроить интеграцию с TeamCity:
Настройте связь от ТестОпс к TeamCity:
- Создайте токен в TeamCity.
- Подключите интеграцию с TeamCity на уровне инстанса ТестОпс.
- Добавьте настроенное подключение к TeamCity в проект ТестОпс.
Настройте связь от TeamCity к ТестОпс:
- Создайте API-токен в ТестОпс.
- Установите плагин в TeamCity.
- Укажите параметры инстанса ТестОпс в проекте TeamCity.
- Измените конфигурацию сборки в TeamCity.
- Запустите и проверьте сборку в TeamCity.
- Настройте созданную джобу в ТестОпс.
Параметризируйте джобу в ТестОпс и конфигурацию сборки в TeamCity (при необходимости).
Важно
Плагин для TeamCity не поддерживает подключение к инстансам ТестОпс, использующим самоподписанные сертификаты.
Для работы интеграции используйте сертификат от доверенного центра сертификации или откройте ТестОпс для TeamCity по HTTP.
1. Настройте связь от ТестОпс к TeamCity
1.1. Создайте токен в TeamCity
Примечание
Пропустите этот шаг, если вы планируете использовать свое имя пользователя и пароль из TeamCity в качестве учетных данных для интеграции.
Создайте токен в TeamCity с правами доступа:
- Permission scope — выберите Limit per project;
- Permissions — выберите Run build и Comment build.
Сохраните токен в безопасном месте, он понадобится для подключения интеграции с TeamCity в ТестОпс.
1.2. Подключите интеграцию с TeamCity на уровне инстанса ТестОпс
Перейдите в ваш инстанс ТестОпс → раздел Администрирование → Интеграции.
Нажмите Добавить интеграцию.
В списке доступных интеграций выберите TeamCity.
Заполните поля:
Название подключения — введите название, которое поможет вам распознать интеграцию (например, TeamCity production).
Endpoint — введите URL-адрес вашего инстанса TeamCity (например, https://teamcity.example.com/).
Типы учетных данных — нажмите на выпадающий список и выберите один или несколько типов учетных данных TeamCity, которые будет поддерживать интеграция.
Примечание
Подробнее о поддерживаемых типах учетных данных см. Интеграции с внешними системами → Учетные данные внешних систем.
Если ваш инстанс TeamCity использует самоподписанный SSL-сертификат, уберите галочку напротив Проверка SSL-сертификата.
Если интеграция может работать с глобальными учетными данными TeamCity, в секции Глобальные учетные данные:
- Перейдите на вкладку, соответствующую учетным данным TeamCity, которые вы планируете использовать, — Пароль или Токен доступа.
- Введите имя пользователя и пароль нужной учетной записи в TeamCity или токен, который вы сохранили на шаге 1.1.
При необходимости проверьте соединение с TeamCity, чтобы убедиться в корректности указанных данных.
Нажмите Добавить подключение.
В разделе Администрирование → Интеграции появится интеграция с TeamCity с одним автоматически созданным подключением.
1.3. Добавьте настроенное подключение к TeamCity в проект ТестОпс
Чтобы добавить настроенное подключение к TeamCity в нужный проект ТестОпс, воспользуйтесь одним из способов:
В ТестОпс перейдите в раздел Администрирование → Интеграции.
В списке настроенных интеграций найдите и откройте интеграцию с TeamCity.
В списке настроенных подключений найдите и откройте ваше подключение к TeamCity.
Нажмите Добавить в проект.
В списке доступных проектов выберите нужный проект ТестОпс.
Если интеграция настроена для работы и с глобальными, и с проектными учетными данными TeamCity, в поле Тип учетных данных нажмите на выпадающий список и выберите вариант, который будет использоваться в проекте.
Если интеграция будет работать с проектными учетными данными TeamCity, в секции Проектные учетные данные:
- Перейдите на вкладку, соответствующую учетным данным TeamCity, которые вы планируете использовать, — Пароль или Токен доступа.
- Введите имя пользователя и пароль нужной учетной записи в TeamCity или токен, который вы сохранили на шаге 1.1.
При необходимости проверьте соединение с TeamCity, чтобы убедиться в корректности указанных данных.
Нажмите Добавить в проект.
2. Настройте связь от TeamCity к ТестОпс
Выполните шаги ниже, чтобы настроить вторую часть двусторонней связи: отправку статусов сборок и результатов тестов из TeamCity в ТестОпс.
2.1. Создайте API-токен в ТестОпс
- Создайте API-токен в ТестОпс.
- Сохраните API-токен в безопасном месте, он понадобится для настройки плагина в TeamCity.
2.2. Установите плагин для TeamCity
Вы можете установить плагин для TeamCity двумя способами:
- через JetBrains Marketplace (рекомендуемый способ);
- загрузив ZIP-архив с плагином в TeamCity вручную (если у инстанса TeamCity нет доступа к интернету).
Выбранный метод установки не влияет на функциональность плагина.
Установите плагин Allure TestOps Support через JetBrains Marketplace.
Примечание
Для интеграции с TeamCity используется плагин от Allure TestOps, который совместим с ТестОпс.
После установки включите плагин для работы в TeamCity.
2.3. Укажите параметры инстанса ТестОпс в проекте TeamCity
Чтобы указать параметры инстанса ТестОпс в TeamCity, воспользуйтесь одним из способов в зависимости от способа настройки вашего проекта TeamCity:
На главной странице TeamCity перейдите на страницу вашего проекта.
В правом верхнем углу нажмите Edit project и перейдите в раздел Allure Servers.
Если ссылка не видна, нажмите Show all, чтобы раскрыть ее.
Нажмите Add new server.
Заполните поля:
- Name — введите название, которое поможет вам распознать инстанс ТестОпс.
- URL — введите URL-адрес вашего инстанса ТестОпс.
- Token — введите API-токен, который вы сохранили на шаге 2.1.
- Threads count — введите максимальное количество потоков для импорта файлов в ТестОпс.
- Batch size — введите максимальное количество файлов для импорта в ТестОпс за один раз (одним потоком).
- Results depth — введите количество уровней подкаталогов в директории с результатами тестов, которые будут сканироваться и импортироваться в ТестОпс. Значение 0 означает, что подкаталоги не будут импортироваться.
- Process interval — введите минимальный интервал (в секундах) между отправкой пакетов файлов (одним потоком).
- Indexing interval — введите интервал (в секундах) между повторными сканированиями директории с результатами тестов.
- Delay interval — введите минимальный интервал (в секундах) перед импортом вновь созданного файла в ТестОпс. Эта настройка позволяет избежать импорта неполных файлов.
Нажмите Test connection. Если учетные данные верны, через несколько секунд появится сообщение «Successfully authorized as ⟨USERNAME⟩».
Нажмите OK → Save.
2.4. Измените конфигурацию сборки в TeamCity
Чтобы изменить конфигурацию сборки в TeamCity, воспользуйтесь одним из способов в зависимости от способа настройки вашего проекта TeamCity:
В конфигурацию сборки TeamCity добавьте фичу Allure: upload results, заполнив поля:
Allure Server — нажмите на выпадающий список и выберите название инстанса ТестОпс, который вы добавили на шаге 2.3.
Project id — введите ID проекта ТестОпс.
Launch name — введите шаблон для названий запусков в ТестОпс. При необходимости вы можете использовать предопределенные параметры сборки TeamCity.
Launch tags — введите список тегов (через запятую), которые будут присвоены запускам в ТестОпс.
Test Results Directories — введите путь к директории с результатами тестов (например, build/allure-results).
Совет
Если в вашем проекте несколько директорий с результатами тестов, вы можете разделить их запятыми или новыми строками или использовать шаблон с подстановочными символами (например, modules/*/build/allure-results).
Index existing files — поставьте галочку, если необходимо, чтобы плагин импортировал все файлы из директории с результатами тестов, даже если они не были обновлены во время последнего запуска.
Enable full log — поставьте галочку, если необходимо включить подробное логирование. Дополнительная информация в логах сборки может быть полезна при диагностике проблем.
2.5. Запустите и проверьте сборку в TeamCity
- В TeamCity запустите сборку, которую вы настроили на шаге 2.4.
- Дождитесь завершения сборки.
- Перейдите в ваш проект ТестОпс → раздел Запуски.
- Откройте созданный запуск и карточку результата одного из тестов.
- В строке под названием теста найдите название сборки TeamCity, из которой импортированы результаты этого теста.
- Нажмите на название сборки TeamCity, чтобы открыть сборку и проверить корректность связи между TeamCity и ТестОпс.
2.6. Настройте джобу в ТестОпс
Перейдите в ваш проект ТестОпс → раздел Джобы.
В списке будет отображаться новая джоба, автоматически добавленная во время запуска на шаге 2.5.
Напротив добавленной джобы нажмите
⋯→ Настроить.Заполните поля:
- Название — введите название, которое поможет вам распознать джобу.
- Сервер сборки — нажмите на выпадающий список и выберите название подключения к TeamCity, которое вы добавили на шаге 1.2.
- Джоба может быть использована для запуска тестов — поставьте галочку, чтобы пользователи могли запускать джобу из ТестОпс.
Нажмите Отправить.
3. Параметризируйте джобу в ТестОпс и конфигурацию сборки в TeamCity
TeamCity поддерживает параметризованные сборки.
ТестОпс поддерживает эту функциональную возможность через Окружение, которое позволяет задавать параметры для новых джоб ТестОпс и просматривать параметры из сборок TeamCity.
Совет
Рекомендуется устанавливать одинаковые значения по умолчанию как в ТестОпс, так и в TeamCity. В таком случае сборка TeamCity получит одно и то же окружение независимо от источника запуска.
3.1. Укажите параметры в конфигурации сборки TeamCity
Добавьте параметры в конфигурацию сборки TeamCity, заполнив поля для каждого из параметров:
Name — введите название параметра.
Kind — выберите Environment variable.
Примечание
Эта настройка автоматически добавляет префикс
env.к названию параметра.Value — введите значение по умолчанию, которое будет использоваться, если не указано для конкретного запуска.
3.2. Добавьте глобальные переменные окружения в ТестОпс
Перед тем как использовать значения параметров из сборки TeamCity, создайте глобальные переменные окружения на уровне инстанса ТестОпс, которые будут хранить эти данные:
Перейдите в ваш инстанс ТестОпс → раздел Администрирование → Окружения.
Для каждой переменной, которую вы хотите добавить:
- Нажмите + Создать.
- Введите название глобальной переменной.
- Нажмите Отправить.

Важно
Если в репозитории вашего проекта в TeamCity есть несколько веток, обязательно создайте глобальную переменную окружения Branch и передайте ее в вашу джобу. Это специальное имя укажет TeamCity, какую из веток нужно использовать.
3.3. Сопоставьте параметры TeamCity с глобальными переменными окружения в ТестОпс
Перейдите в ваш проект ТестОпс → раздел Настройки → Окружение.
Для каждого параметра, который вы хотите использовать:
- Нажмите + Создать, если параметра нет в списке. Если параметр уже существует, напротив его названия нажмите иконку Редактировать.
- В поле Ключ введите название параметра в TeamCity из шага 3.1.
- В поле Переменная окружения нажмите на выпадающий список и выберите название глобальной переменной в ТестОпс из шага 3.2.
- Нажмите Отправить.

3.4. Добавьте параметры в джобу ТестОпс
Перейдите в ваш проект ТестОпс → раздел Джобы.
Напротив джобы, которую вы хотите параметризировать, нажмите иконку Обновить настройки джобы с сервера сборки.
Названия параметров и их значения по умолчанию должны появиться в описании джобы.

Напротив джобы нажмите
⋯→ Настроить.Для каждого параметра, который вы хотите использовать, в секции Параметры → Переменная окружения выберите соответствующую переменную окружения из шага 3.2.

Нажмите Отправить.
Удаление подключений и интеграции с TeamCity
Вы можете удалить подключение к интеграции с TeamCity двумя способами — на уровне отдельного проекта (через настройки проекта) или на уровне всего инстанса ТестОпс (через раздел Администрирование).
Удаление подключения на уровне проекта
Важно
Последствия удаления всех подключений из интеграции с TeamCity на уровне проекта:
Подключения к интеграции с TeamCity перестанут отображаться в списке подключений проекта, но продолжат работать в других проектах инстанса, в которых они были добавлены, и сохранятся в разделе Администрирование → Интеграции.
Интеграция с TeamCity перестанет отображаться в списке интеграций проекта, но сохранится в разделе Администрирование → Интеграции.
Связь с инстансом TeamCity будет удалена из джоб ТестОпс, которые относятся к интеграции и находятся в этом проекте:
- Иконки для запуска и обновления этих джоб в разделе Джобы останутся активными.
- ТестОпс не сможет запустить тесты из проекта на стороне TeamCity. После закрытия запуска результаты этих тестов получат статус «Неизвестный».
- Результаты запусков тестов из TeamCity не будут отправляться в проект ТестОпс.
Чтобы удалить подключение на уровне проекта:
- Перейдите в ваш проект ТестОпс → раздел Настройки → Интеграции.
- В списке настроенных интеграций найдите и откройте интеграцию с TeamCity.
- Напротив нужного подключения к TeamCity нажмите
⋯→ Удалить → Да, удалить.
Подключение перестанет работать в вашем проекте.
Удаление подключения на уровне инстанса
Важно
Последствия удаления всех подключений из интеграции с TeamCity на уровне инстанса:
Подключения и интеграция с TeamCity будут полностью удалены.
Связь с инстансом TeamCity будет удалена из всех джоб ТестОпс, которые относятся к интеграции:
- Иконки для запуска и обновления этих джоб в разделе Джобы станут неактивными.
- Результаты запусков тестов из TeamCity не будут отправляться в инстанс ТестОпс.
Чтобы удалить подключение на уровне инстанса:
- Перейдите в ваш инстанс ТестОпс → раздел Администрирование → Интеграции.
- В списке настроенных интеграций найдите и откройте интеграцию с TeamCity.
- В списке настроенных подключений откройте карточку нужного подключения и напротив названия каждого проекта нажмите
⋯→ Удалить из проекта → Да, удалить. - Нажмите Назад в интеграцию, чтобы вернуться к списку подключений.
- Напротив нужного подключения к TeamCity нажмите
⋯→ Удалить → Да, удалить.
Подключение перестанет работать во всех проектах инстанса.

