Настройка интеграции с GitLab CI с помощью вебхуков
Узнайте об интеграциях и настройках Test IT
Информация обо всех интеграциях и настройках Test IT доступна на странице Приложения в верхней навигационной панели.
Настройка репозитория в GitLab
Подготовка
- Создайте файл
requirements.txt
, в котором должны быть перечислены следующие пакеты для установки:pytest testit-pytest
- Поместите в репозиторий GitLab автотесты с декораторами
externalID
иworkitemID
. Данные декораторы должны совпадать с External ID автотестов и Global ID рабочих элементов в Test IT. - Создайте файл
connection_config.ini
, в котором необходимо задать переменные окружения.[testit] url={URL} privatetoken={PRIVATE_TOKEN} testrunID={TEST_RUN_ID}
Создание пайплайна
- Войдите в репозиторий GitLab.
- В навигационном меню выберите CI/CD > Editor.
- Нажмите Create New CI/CD Pipeline. Откроется редактор файла
.gitlab-ci.yml
. - Настройте
.gitlab-ci.yml
файл для установки необходимых пакетов из файла requirements.txt и запуска автотестов с требуемыми переменными окружения:Пример
.gitlab-ci.yml
файла при наличииconnection_config.ini
.stages: - test run_tests: image: python:3.9 stage: test before_script: --pip install -r requirements.txt script: - pytest --testit
Пример
.gitlab-ci.yml
файла безconnection_config.ini
. В данном случае необходимо инициировать использование переменных окружения через параметры командной строки.stages: - test run_tests: image: python:3.9 stage: test before_script: --pip install -r requirements.txt script: - pytest --testit --testrunid=${TEST_RUN_ID} --testit_url=${URL} --privatetoken=${PRIVATE_TOKEN}
- Нажмите Commit changes.
Получение токена
- Войдите в репозиторий GitLab.
- В навигационном меню выберите Settings > CI/CD.
- Раскройте секцию Pipeline triggers и нажмите Add trigger. При необходимости добавьте описание.
Настройка вебхука в Test IT
- Откройте проект.
- В навигационном меню слева нажмите Вебхуки.
- Нажмите Создать.
- Укажите название нового вебхука и выберите тип события — Запуск автотестов.
- В поле URL вставьте строку
https://{DOMAIN}/api/v4/projects/{PROJECT_ID}/trigger/pipeline
, где DOMAIN нужно заменить на адрес вашего GitLab, а PROJECT_ID — на Global ID репозитория в GitLab. Убедитесь, что тип передаваемого запроса выставлен как POST. - В шаге Параметры URL установите следующие передаваемые параметры:
- ref = название ветки GitLab репозитория с автотестами
- token = token триггера, созданного на этапе настройки репозитория.
- variables[URL] = $SERVER_URL
- variables[TEST_RUN_ID] = $TEST_RUN_ID
- variables[PRIVATE_TOKEN] = секретный ключ API из профиля Test IT.
- В шаге Заголовки HTTP нажмите Далее.
- В шаге Тело HTTP в поле Тип контекста выберите Не отправлять контекст.
- Нажмите Сохранить.
Теперь при запуске автотестов из Test IT в GitLab будет запускаться пайплайн. Результаты пайплайна возвращаются в систему Test IT.