Настройка интеграции с GitFlic с помощью вебхуков
Узнайте об интеграциях и настройках Test IT
Информация обо всех интеграциях и настройках Test IT доступна на странице Приложения в верхней навигационной панели.
GitFlic — это сервис для хранения исходного кода и работы с ним, основанный на системе контроля версий Git. Вы можете настроить интеграцию с GitFlic для работы с автотестами, расположенными в его репозитории, из интерфейса Test IT.
Для настройки интеграции вам нужно:
- Зарегистрировать агент GitFlic Runner, используемый вашей компанией (для облачной версии GitFlic Runner)
- Настроить репозиторий GitFlic:
- Настроить вебхук в Test IT
Чтобы узнать больше о работе с GitFlic API, смотрите дополнительные ресурсы.
Регистрация агента (для облачной версии)
Для работы с облачной (Cloud) версией агента GitFlic Runner необходима регистрация агента. Чтобы зарегистрировать агент:
- Следуйте инструкции в документации GitFlic.
Настройка репозитория GitFlic
Перед началом работы
При интеграции с Test IT агент GitFlic Runner как правило уже настроен и готов к работе.
В случае необходимости произведите необходимые настройки согласно документации GitFlic.
Подготовка
- Создайте файл
requirements.txt
, в котором должны быть перечислены следующие пакеты для установки:pytest testit-pytest
- Поместите в репозиторий GitFlic автотесты с декораторами
externalID
иworkitemID
. Данные декораторы должны совпадать с External ID автотестов и Global ID рабочих элементов в Test IT. - Создайте файл
connection_config.ini
, в котором необходимо задать переменные окружения.[testit] url={URL} privatetoken={PRIVATE_TOKEN} testrunId={TEST_RUN_ID} projectId={TMS_PROJECT_ID} configurationId={TMS_CONFIGURATION_ID}
Идентификатор проекта, конфигурации и другие данные о проекте доступны в консоли. Подробнее: Просмотр идентификатора проекта.
Создание конвейера (пайплайна)
- Создайте файл
gitflic-ci.yaml
и поместите в корневую папку вашего проекта.Пример файла
gitflic-ci.yaml
:stages: - test run_tests: image: python:3.9 stage: test before_script: --pip install -r requirements.txt script: - pytest --testit
Пример
gitflic-ci.yaml
файла без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}
- Выполните коммит изменений.
- Войдите в репозиторий GitFlic и в верхнем навигационном меню выберите CI/CD.
- Нажмите Запустить конвейер.
При успешном создании конвейера он отобразится в списке.
Получение токена доступа в GitFlic
Для настройки интеграции вам потребуется токен доступа accessToken
, получаемый через API GitFlic.
- Следуйте инструкции в официальной документации GitFlic.
- Пример токена доступа:
{ "accessToken": "868f3765-aaaa-aaaa-aaaa-13faw8a3ca68", "refreshToken": "cb4917e7-aaaa-aaaa-aaaa-9bb604b42e0c", "expires": "2023-01-12T15:45:01.961001" }
- Пример токена доступа:
- Скопируйте значение
accessToken
из полученного объекта .json.
Настройка вебхука в Test IT
- Откройте проект.
- В навигационном меню слева откройте секцию Настройки и выберите Вебхуки.
- Нажмите Создать.
- В Шаге 1 укажите название нового вебхука и выберите тип события — Запуск автотестов.
- В Шаге 2 убедитесь, что тип передаваемого запроса выставлен как POST, в поле URL вставьте строку:
- Для версии Self-hosted:
http://{example.gitflic.ru}:8080/rest-api/project/{USERALIAS}/{PROJECTALIAS}/cicd/pipeline/start
- Для версии Cloud:
https://api.gitflic.ru/project/{USERALIAS}/{PROJECTALIAS}/cicd/pipeline/start
,
где {USERALIAS}
— ваш user alias (скопируйте из адресной строки проекта){PROJECTALIAS}
— ваш project alias (скопируйте из адресной строки проекта)
- Для версии Self-hosted:
- В Шаге 3 нажмите Далее.
- В Шаге 4 Заголовки HTTP укажите следующие данные:
- В поле Параметр введите Authorization
- В поле Значение введите token {accessToken}, где {accessToken} — ваш токен доступа GitFlic, например: token 868f3765-aaaa-aaaa-aaaa-13faw8a3ca68
- В Шаге 5 в поле Тип контекста выберите Не отправлять контекст.
- Нажмите Сохранить.
При запуске автотестов из Test IT в GitFlic будет запускаться конвейер. Результаты запуска возвращаются в систему Test IT.