Перейти к основному содержимому

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

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

Как и все другие CI-интеграции в ТестОпс, это двусторонняя связь:

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

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

Чтобы добавить поддержку ТестОпс в ваш пайплайн Azure DevOps:

  1. Включите отправку данных из Azure DevOps.
  2. Включите запуск пайплайна Azure.
  3. Параметризуйте джобы (если необходимо).

1. Включите отправку данных из Azure DevOps

Чтобы Azure DevOps отправлял статусы пайплайнов и результаты тестов в ТестОпс, вам нужно создать токен аутентификации в ТестОпс, добавить токен в Azure DevOps и изменить сам пайплайн.

Затем запустите и проверьте пайплайн, чтобы убедиться, что все работает.

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

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

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

  3. Придумайте название для токена (например, «Токен для Azure DevOps») и нажмите Создать.

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

  4. Нажмите значок Копировать, чтобы скопировать токен в буфер обмена. Этот токен понадобится вам на следующем шаге.

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

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

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

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

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

    • NameALLURE_TOKEN.
    • Value — API-токен, который вы получили на шаге 1.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, чтобы применить изменения и закрыть окно.

1.3. Измените пайплайн

Внесите следующие изменения в файл azure-pipelines.yml в вашем репозитории. Вы можете сделать это либо в локальной директории, либо в редакторе Azure.

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

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

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

К сведению

Пример

Предположим, у нас есть проект на Java с файлом azure-pipelines.yml такого вида:

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

С интеграцией ТестОпс файл будет выглядеть примерно так:

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://demo.testops.cloud
ALLURE_PROJECT_ID: 1
ALLURE_RESULTS: build/allure-results
ALLURE_TOKEN: $(ALLURE_TOKEN)

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

  1. В Azure DevOps откройте проект и перейдите к запуску пайплайна, вызванному последним коммитом.

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

  2. Если выполнение пайплайна еще не завершено, дождитесь его завершения.

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

    Ближе к концу ее лога должна быть ссылка на отчет о тестировании в ТестОпс. Убедитесь, что она присутствует и работает.

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

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

    Внизу страницы должна быть ссылка на пайплайн Azure. Убедитесь, что она присутствует и работает.

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

2. Включите запуск пайплайна Azure

На стороне ТестОпс интеграция с Azure DevOps должна быть настроена на двух уровнях.

Сначала администратор должен указать URL-адрес Azure DevOps.

Затем владелец проекта должен создать токен аутентификации в Azure DevOps, добавить его в ТестОпс и настроить джобу в ТестОпс.

2.1. Укажите URL-адрес Azure DevOps в ТестОпс

  1. Войдите в ТестОпс, используя учетную запись администратора.

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

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

  4. В появившемся окне выберите Azure DevOps Server.

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

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

2.2. Создайте токен в 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.

    Новый токен станет временно видимым. Скопируйте его. Этот токен понадобится вам на следующем шаге.

2.3. Добавьте токен в проект ТестОпс

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

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

  3. В разделе Доступные интеграции найдите интеграцию Azure DevOps и нажмите Добавить интеграцию рядом с ней.

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

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

  6. Нажмите Добавить интеграцию, чтобы сохранить настройки.

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

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

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

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

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

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

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

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

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

3. Параметризуйте джобы

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

Сначала администратор должен объявить глобальные названия для параметров.

Затем владелец проекта должен настроить маппинг параметров в настройках проекта и в настройках джобы в ТестОпс.

Наконец, переменные также нужно добавить в пайплайн в Azure DevOps.

Важно

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

3.1. Добавьте глобальные названия параметров

  1. Войдите в ТестОпс, используя учетную запись администратора.

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

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

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

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

3.2. Сопоставьте параметры с переменными окружения

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

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

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

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

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

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

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

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

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

    Появится окно настроек джобы, содержащее раздел Параметры.

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

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

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

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

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

  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, чтобы применить изменения и закрыть окно.