Skip to content

Интеграция с Azure DevOps

В этой инструкции описывается, как настроить ТестОпс и Azure DevOps в проекте, который использует Azure Pipelines для запуска тестов.

Примечание

Чтобы настроить или удалить интеграцию в ТестОпс, вы должны иметь доступ к разделам:

  • Администрирование — необходимы права администратора инстанса;
  • Настройки в конкретном проекте — необходима роль владельца этого проекта.

Интеграция с Azure DevOps позволяет настроить двустороннюю связь:

  • Джоба в пайплайне Azure использует allurectl для отправки своего статуса и результатов тестов в ТестОпс.
  • ТестОпс использует API Azure DevOps для запуска новых пайплайнов, при необходимости передавая тест-план.

После остановки пайплайна соответствующий запуск в ТестОпс можно закрыть вручную или автоматически в соответствии с настройками автоматического закрытия.

Настройка интеграции

Чтобы настроить интеграцию с Azure DevOps:

  1. Настройте связь от ТестОпс к Azure DevOps:

    1. Создайте токен в Azure DevOps.

    2. На уровне инстанса ТестОпс добавьте интеграцию с Azure DevOps, указав:

      • название интеграции;
      • URL-адрес Azure DevOps.
    3. На уровне инстанса или проекта ТестОпс включите добавленную интеграцию для проекта, указав созданный токен из Azure DevOps.

  2. Настройте связь от Azure DevOps к ТестОпс:

    1. Создайте API-токен в ТестОпс.
    2. В Azure DevOps укажите созданный API-токен из ТестОпс.
    3. Измените пайплайн в Azure DevOps.
    4. Запустите и проверьте пайплайн в Azure DevOps.
    5. Настройте созданную джобу в ТестОпс.
  3. Параметризируйте джобу в ТестОпс и пайплайн в Azure DevOps (если необходимо).

1. Настройте связь от ТестОпс к Azure DevOps

1.1. Создайте токен в Azure DevOps

  1. В Azure DevOps нажмите иконку User settings рядом с вашим аватаром и выберите Personal access tokens.

  2. Нажмите New Token.

  3. В появившемся окне заполните поля:

    • Name — название, которое поможет вам распознать токен, например, Токен для ТестОпс.
    • Organization — организация Azure DevOps, которая содержит проект, который вы хотите интегрировать с ТестОпс.
    • Expiration — срок действия токена. После указанной даты интеграция перестанет работать. Чтобы возобновить ее работу, вам нужно будет создать новый токен.
    • ScopesCustom defined.
  4. Внизу окна нажмите Show all scopes.

  5. Выберите следующие права доступа:

    • BuildRead and execute.
    • Work ItemsRead, write & manage.
    • Variable GroupsRead.
  6. Нажмите Create.

    Новый токен станет временно видимым. Скопируйте и сохраните токен в безопасном месте, он понадобится для настройки интеграции в проекте ТестОпс.

1.2. Добавьте интеграцию с Azure DevOps в ТестОпс

  1. Перейдите в ваш инстанс ТестОпс.

  2. Перейдите в раздел АдминистрированиеИнтеграции.

  3. Нажмите + Добавить интеграцию в правом верхнем углу.

  4. В списке доступных интеграций выберите Azure DevOps Server.

  5. Заполните поля:

    • Название — название, которое поможет вам распознать интеграцию, например, Azure DevOps production.
    • Endpoint — URL-адрес организации Azure DevOps, например, https://dev.azure.com/my-organization/.
  6. Нажмите Добавить интеграцию.

1.3. Включите интеграцию для проекта ТестОпс

Чтобы включить интеграцию в нужном проекте ТестОпс, воспользуйтесь одним из способов:

  1. Перейдите в раздел АдминистрированиеИнтеграции.

  2. В списке настроенных интеграций найдите и откройте вашу интеграцию с Azure DevOps.

  3. Перейдите на вкладку Проекты.

  4. Справа от поля поиска нажмите +.

  5. В выпадающем списке Проект выберите нужный проект ТестОпс.

  6. В появившемся окне заполните поля:

    • Имя пользователя (email) — электронная почта, которую вы используете для входа в Azure DevOps.
    • Токен Azure — токен, который вы сохранили на шаге 1.1.
  7. Нажмите Проверить соединение. Если учетные данные верны, через несколько секунд появится сообщение «Соединение установлено».

  8. Нажмите Добавить интеграцию.

2. Настройте связь от Azure DevOps к ТестОпс

Выполните шаги ниже, чтобы настроить вторую часть двусторонней связи: отправку статусов пайплайнов и результатов тестов из Azure DevOps в ТестОпс.

2.1. Создайте токен в ТестОпс

  1. В ТестОпс нажмите на ваш аватар и перейдите в раздел API-токены.

  2. Нажмите + Токен.

  3. Введите название токена, которое поможет вам распознать интеграцию, например, Токен для Azure DevOps.

  4. Нажмите Создать.

    ТестОпс сгенерирует токен и отобразит его в модальном окне.

  5. Нажмите иконку Копировать, чтобы скопировать токен в буфер обмена.

    Cохраните токен в безопасном месте, он понадобится для настройки интеграции в Azure DevOps.

2.2. Укажите токен в Azure DevOps

  1. В Azure DevOps перейдите в Pipelines и выберите нужный пайплайн.

  2. В правом верхнем углу нажмите Edit.

  3. В правом верхнем углу нажмите Variables.

  4. Нажмите New variable или +. В появившемся окне заполните поля:

    • NameALLURE_TOKEN.
    • Value — API-токен, который вы сохранили на шаге 2.1.
    • Keep this value secret — должно быть отмечено.
    • Let users override this value when running this pipeline — не должно быть отмечено.

    Нажмите OK.

  5. Нажмите + снова. В появившемся окне заполните поля:

    • NameALLURE_JOB_RUN_ID.
    • Value — должно быть пустым.
    • Keep this value secret — не должно быть отмечено.
    • Let users override this value when running this pipeline — должно быть отмечено.

    Нажмите OK.

  6. Нажмите Save.

2.3. Измените пайплайн в Azure DevOps

  1. В Azure DevOps откройте репозиторий, для которого вы настраиваете интеграцию.

  2. Откройте файл azure-pipelines.yml.

  3. В начале блока steps добавьте шаг, который загружает allurectl и делает его исполняемым.

  4. В шаге, который запускает тесты, добавьте или расширьте блок env. Он должен включать переменные со значениями:

    • ALLURE_ENDPOINT — URL-адрес инстанса ТестОпс.
    • ALLURE_PROJECT_ID — ID проекта ТестОпс.
    • ALLURE_RESULTS — путь к директории с результатами тестов, например, build/allure-results. Если в вашем проекте несколько директорий с результатами тестов, вы можете разделить их запятыми или использовать шаблон с подстановочными символами, например, modules/*/build/allure-results.
    • ALLURE_TOKEN$(ALLURE_TOKEN).
  5. Оберните команду, которая запускает тесты, в команду ./allurectl watch.

Пример изменения пайплайна

Предположим, вы работаете с Java-проектом, в котором файл azure-pipelines.yml выглядит следующим образом:

yaml
steps:
  - script: ./gradlew clean test
    displayName: Run tests

Чтобы настроить интеграцию с ТестОпс, вам необходимо изменить файл по примеру ниже:

yaml
steps:
  - bash: curl -fsSL https://github.com/allure-framework/allurectl/releases/latest/download/allurectl_linux_amd64 -o allurectl && chmod +x allurectl
    displayName: Download allurectl

  - script: ./allurectl watch -- ./gradlew clean test
    displayName: Run tests
    env:
      ALLURE_ENDPOINT: https://testops.example.com
      ALLURE_PROJECT_ID: 1
      ALLURE_RESULTS: build/allure-results
      ALLURE_TOKEN: $(ALLURE_TOKEN)

2.4. Запустите и проверьте пайплайн в Azure DevOps

  1. В Azure DevOps откройте проект, для которого вы настраиваете интеграцию.

  2. Перейдите к запуску пайплайна, инициированному последним коммитом.

    Примечание

    Если у вас отключен автоматический запуск пайплайнов после коммитов, выполните запуск вручную.

  3. Дождитесь, когда завершится выполнение пайплайна.

  4. В деталях выполнения пайплайна нажмите на джобу, которая запускает тесты.

  5. Ближе к концу лога найдите ссылку на запуск в ТестОпс.

    Ссылка на запуск ТестОпс находится в логах запуска пайплайна.

  6. Перейдите по ссылке в ТестОпс и откройте результаты одного из тестов.

  7. В карточке результата теста в левом нижнем углу найдите ссылку на пайплайн Azure DevOps.

    Ссылка на пайплайн Azure DevOps находится в карточке результата теста в левом нижнем углу.

  8. Перейдите по ссылке в Azure DevOps, чтобы убедиться, что она работает корректно.

2.5. Настройте джобу в ТестОпс

  1. Перейдите в ваш проект ТестОпс.

  2. Перейдите в раздел Джобы.

    Страница должна содержать новую джобу, автоматически добавленную во время запуска на шаге 2.4.

  3. Напротив добавленной джобы нажмите Настроить.

  4. В появившемся окне отредактируйте поля:

    • Сервер сборки — название интеграции, которую вы добавили на шаге 1.2.
    • Джоба может быть использована для запуска тестов — если отмечено, пользователи смогут запускать эту джобу из ТестОпс.
    • Параметры — параметры, которые должны быть переданы в Azure DevOps через переменные окружения (подробнее см. Окружение).

    Окно позволяет задать настройки джобы.

  5. Нажмите Отправить.

3. Параметризируйте джобу в ТестОпс и пайплайн в Azure DevOps

При запуске пайплайнов в Azure DevOps можно указывать переменные. ТестОпс поддерживает эту функциональность через концепцию Окружение, которая позволяет задавать параметры для новых джоб и просматривать параметры из пайплайнов, запущенных со стороны CI-системы.

Важно

Если в репозитории вашего проекта несколько веток, обязательно создайте в ТестОпс переменную окружения Branch и передайте ее в вашу джобу. Это специальное имя, которое укажет Azure DevOps, какую из веток нужно использовать.

3.1. Добавьте глобальные переменные окружения в ТестОпс

  1. Перейдите в ваш инстанс ТестОпс.

  2. Перейдите в раздел АдминистрированиеОкружения.

  3. Для каждой переменной, которую вы хотите добавить:

    1. Нажмите + Создать.
    2. Введите название переменной.
    3. Нажмите Отправить.

    Названия переменных окружения добавляются в разделе «Администрирование».

3.2. Сопоставьте переменные из пайплайна с глобальными переменными окружения в ТестОпс

  1. Перейдите в ваш проект ТестОпс.

  2. Перейдите в раздел НастройкиОкружение.

  3. Для каждой переменной, которую вы хотите использовать:

    1. Нажмите + Создать, если переменной нет в списке. Если переменная уже существует, напротив ее названия нажмите иконку Редактировать.
    2. В поле Ключ укажите название переменной окружения.
    3. В поле Переменная окружения выберите глобальное название из шага 3.1.
    4. Нажмите Отправить.

    Сопоставление переменных окружения Azure DevOps и ТестОпс находится в настройках проекта.

3.3. Добавьте параметры в джобу ТестОпс

  1. Перейдите в раздел Джобы.

  2. Напротив джобы, которую вы хотите параметризировать, нажмите Настроить.

  3. Для каждой переменной, которую вы хотите добавить, в секции Параметры нажмите Добавить и заполните поля:

    • Название — название переменной окружения (такое же, как Ключ из шага 3.2).
    • Значение — значение по умолчанию, которое должно использоваться, если не указано другое значение для конкретного запуска.
    • Переменная окружения — глобальное название переменной в ТестОпс из шага 3.1.

    В окне можно указать несколько переменных окружения.

  4. Нажмите Отправить.

3.4. Установите значения по умолчанию в пайплайне Azure DevOps

  1. В Azure DevOps перейдите в Pipelines и выберите нужный пайплайн.

  2. В правом верхнем углу нажмите Edit.

  3. В правом верхнем углу нажмите Variables.

  4. Для каждой переменной, которую вы хотите добавить, нажмите + и заполните поля:

    • Name — название переменной окружения (такое же, как Ключ из шага 3.2 и Название из шага 3.3).
    • Value — значение по умолчанию, которое должно использоваться, если не указано для конкретного запуска (такое же, как Значение из шага 3.3).
    • Keep this value secret — не должно быть отмечено.
    • Let users override this value when running this pipeline — должно быть отмечено.

    Нажмите OK.

  5. Нажмите Save.

Удаление интеграции

Вы можете удалить интеграцию с Azure DevOps двумя способами — на уровне всего инстанса ТестОпс (через раздел Администрирование) или на уровне отдельного проекта (через настройки проекта).

Важно

Последствия удаления интеграции:

  • Удаление на уровне инстанса — связь с инстансом Azure DevOps будет удалена из всех джоб ТестОпс, которые относятся к интеграции:

    • Иконки для запуска и обновления этих джоб в разделе Джобы станут неактивными.
    • Результаты запусков тестов из Azure DevOps не будут отправляться в инстанс ТестОпс.
  • Удаление на уровне проекта — связь с инстансом Azure DevOps будет удалена из джобы ТестОпс, которая относится к интеграции и находится в этом проекте:

    • Иконки для запуска и обновления этой джобы в разделе Джобы останутся активными.
    • ТестОпс не сможет запустить тесты из проекта на стороне Azure DevOps. После закрытия запуска результаты этих тестов получат статус Неизвестный.
    • Результаты запусков тестов из Azure DevOps не будут отправляться в проект ТестОпс.
  1. Перейдите в раздел АдминистрированиеИнтеграции.

  2. В списке настроенных интеграций найдите и откройте вашу интеграцию с Azure DevOps.

  3. Перейдите на вкладку Проекты и убедитесь, что интеграция не используется в проектах ТестОпс.

    Если интеграция подключена к проектам, удалите ее из них. Для этого напротив названия каждого проекта нажмите иконку корзины → Удалять.

  4. Перейдите на вкладку Конфигурация.

  5. Нажмите Удалить интеграцию.

  6. Нажмите Удалить.

Logo © 2025 Все права защищены. Сайт принадлежит компании ООО «Инструменты тестирования»