Skip to content

Связь результатов тестов с запуском и джобой ТестОпс через allurectl ​

Примечание

Инструкция актуальна для allurectl версии 2.22.1. Подробнее о новых возможностях и улучшениях allurectl см. на официальной странице релизов в GitHub.

При импорте результатов тестов в CI-режиме allurectl связывает их с запуском и джобой ТестОпс. От того, какие параметры получил allurectl во время импорта, зависит, в какой запуск попадут результаты тестов и какие данные о них будут доступны в ТестОпс. Управляя этой связью через allurectl, можно:

  • получить ссылки на созданный основной запуск и запуск джобы ТестОпс, например, чтобы отправить их коллегам;
  • добавить к запуску ТестОпс задачи из таск-трекеров;
  • собрать результаты тестов из нескольких джоб CI-системы в один запуск ТестОпс;
  • импортировать в ТестОпс результаты тестов вне пайплайна CI-системы.

Получение ссылок на основной запуск и запуск джобы ТестОпс через allurectl ​

Используя allurectl в CI-режиме, вы можете получить ссылки на запуск джобы и основной запуск ТестОпс, созданные во время выполнения тестов в пайплайне CI-системы.

Для этого:

  1. Импортируйте результаты тестов из CI-системы в ТестОпс через allurectl командой watch или upload.
  2. Выполните в терминале команду job-run env и экспортируйте ее вывод.
Пример получения ссылок через allurectl
bash
allurectl watch -- ./gradlew clean test
export $(allurectl job-run env)
printenv | grep ALLURE_

В терминале отобразятся основные параметры импорта, а также:

ПеременнаяОписание
ALLURE_LAUNCH_IDID запуска в ТестОпс
ALLURE_LAUNCH_URLСсылка на запуск в ТестОпс
ALLURE_JOB_RUN_IDID запуска джобы в ТестОпс
ALLURE_TESTOPS_JOB_RUN_URLСсылка на запуск джобы в ТестОпс

Совет

Чтобы вывести в терминале значение только одной переменной, укажите ее название после команды printenv, например printenv ALLURE_TESTOPS_JOB_RUN_URL.

Добавление ссылок на задачи из таск-трекеров к запуску ТестОпс через allurectl ​

Чтобы добавить ссылки на задачи из таск-трекеров к запуску ТестОпс, созданному через allurectl:

  1. В ТестОпс узнайте ID подключения в интеграции с таск-трекером:

    Примечание

    Чтобы узнать ID подключения в интеграции с внешней системой, необходима глобальная роль «Администратор».

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

    2. В списке настроенных интеграций откройте интеграцию с нужным таск-трекером.

    3. В списке настроенных подключений откройте нужное подключение.

    4. В URL-адресе открытого подключения найдите и сохраните ID этого подключения.

      Пример ID в URL-адресе подключения

      Предположим, URL-адрес настроенного подключения к Кайтен выглядит как https://testops.example.com/admin/integration/kaiten/connections/6/projects. Число 6 в данном случае — ID подключения, которое необходимо скопировать.

  2. Импортируйте результаты тестов в ТестОпс через allurectl командой watch или upload.

  3. Выполните в терминале команду launch add-issue, указав параметры в зависимости от режима работы allurectl:

    Флаг командной строкиОписание
    --integration-idID подключения в интеграции с таск-трекером в ТестОпс
    --issue-keysКлючи задач из таск-трекера через запятую без пробела
    --current-launchЗапуск ТестОпс, в который allurectl импортировал результаты тестов в текущем пайплайне CI-системы. Не требует указания ID

    Важно

    В CI-режиме allurectl понимает, в какой запуск он импортировал результаты тестов, поэтому ID запуска для флага --current-launch указывать не нужно. Выполняйте команду launch add-issue в той же джобе CI-системы, иначе allurectl не найдет текущий запуск ТестОпс.

Примеры добавления ссылок на задачи из таск-трекера через allurectl

Пример для allurectl в CI-режиме:

bash
allurectl watch -- ./gradlew clean test
allurectl launch add-issue --current-launch --integration-id 6 --issue-keys AE-1,AE-2

Пример для allurectl в локальном режиме:

bash
allurectl launch add-issue --launch-id 31897 --integration-id 6 --issue-keys AE-1,AE-2

Совет

Флаг --launch-id поддерживается в обоих режимах allurectl. Используйте его в CI-режиме, если необходимо добавить ссылки на задачи из таск-трекеров не к текущему, а к другому запуску ТестОпс.

Импорт результатов тестов из нескольких джоб CI-системы в один запуск ТестОпс через allurectl ​

Если тесты в CI-системе запускаются из интерфейса ТестОпс, запуск джобы и основной запуск ТестОпс создаются заранее, до начала тестов. ТестОпс передает ID запуска своей джобы в запускаемую джобу CI-системы как значение переменной ALLURE_JOB_RUN_ID. Получив этот параметр, allurectl не создает в ТестОпс новые запуски, а импортирует результаты тестов в уже созданные — в указанный запуск джобы и связанный с ним основной запуск.

Примечание

Вместе с переменной ALLURE_JOB_RUN_ID ТестОпс может передавать в джобу CI-системы список выбранных тестов, например, если запуск создан из тест-плана. Подробнее см. Повторный и выборочный запуски тестов через allurectl.

Если тесты в CI-системе запускаются не из интерфейса ТестОпс, переменной ALLURE_JOB_RUN_ID в джобе CI-системы изначально нет. В этом случае allurectl создает в ТестОпс запуск джобы и основной запуск самостоятельно. Если тесты в пайплайне CI-системы разделены на несколько джоб, для каждой джобы CI-системы создается отдельный запуск в ТестОпс.

Чтобы собрать результаты тестов из нескольких джоб CI-системы в один запуск ТестОпс:

  1. В CI-системе создайте агрегирующую джобу, указав основные параметры импорта через allurectl.

  2. В агрегирующей джобе CI-системы выполните команду job-run env и сохраните из ее вывода значение переменной ALLURE_JOB_RUN_ID.

    Примечание

    Команда job-run env возвращает параметры запуска джобы ТестОпс для текущего пайплайна CI-системы, а если такой запуск джобы еще не создан — создает его.

  3. Передайте сохраненное значение ALLURE_JOB_RUN_ID во вложенные джобы CI-системы, которые запускают тесты.

  4. Из каждой вложенной джобы CI-системы импортируйте результаты тестов в ТестОпс командой watch или upload.

Результаты тестов из всех джоб CI-системы с одинаковым значением ALLURE_JOB_RUN_ID попадут в один и тот же запуск ТестОпс.

Импорт результатов тестов вне пайплайна CI-системы через allurectl ​

Если тесты запускаются с помощью пайплайна CI-системы, но их выполнение происходит вне этого пайплайна (например, на удаленной машине или в контейнере Docker), allurectl не обнаруживает метаданные CI-системы. В этом случае он работает в локальном режиме и создает для результатов тестов отдельный запуск в ТестОпс, не связанный с запуском джобы.

Чтобы результаты таких тестов импортировались в запуск ТестОпс, связанный с пайплайном CI-системы, необходимо передать на удаленную сторону контекст этого пайплайна — набор переменных окружения ALLURE_*, по которым allurectl определяет CI-систему, джобу и запуск джобы. Получив контекст, allurectl импортирует результаты тестов из удаленной стороны так, как если бы он это делал внутри родительского пайплайна CI-системы.

Чтобы передать контекст родительского пайплайна CI-системы в allurectl:

  1. В родительском пайплайне CI-системы укажите основные параметры импорта: ALLURE_ENDPOINT, ALLURE_TOKEN и ALLURE_PROJECT_ID.

  2. В том же пайплайне CI-системы закодируйте контекст в переменную ALLURE_CI_ENV, например:

    bash
    ALLURE_CI_ENV=$(allurectl ci env --encode)

    Команда собирает все переменные ALLURE_*, заданные в пайплайне CI-системы, в одну строку. Неуказанные параметры allurectl заполняет по данным CI-системы.

    Переменные, которые allurectl заполняет в пайплайне CI-системы
    • ALLURE_CI_TYPE,
    • ALLURE_CI_ENDPOINT,
    • ALLURE_JOB_UID,
    • ALLURE_JOB_URL,
    • ALLURE_JOB_NAME,
    • ALLURE_JOB_RUN_UID,
    • ALLURE_JOB_RUN_URL,
    • ALLURE_JOB_RUN_NAME,
    • ALLURE_JOB_RUN_BRANCH.
  3. Передайте значение ALLURE_CI_ENV на удаленную сторону (например, виртуальную машину или в контейнер Docker) и задайте там эту переменную до запуска allurectl.

  4. Если на удаленной стороне результаты тестов лежат не в той директории, что указана в пайплайне CI-системы, исключите ALLURE_RESULTS из контекста при кодировании и задайте эту переменную на удаленной стороне.

  5. На удаленной стороне импортируйте результаты тестов командой watch.

Результаты тестов попадут в запуск ТестОпс, связанный с родительским пайплайном CI-системы.

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