Настройка интеграции с GitLab CI с помощью вебхуков

  • Для этого раздела мы подготовили видео:

Узнайте об интеграциях и настройках Test IT

Информация обо всех интеграциях и настройках Test IT доступна на странице Приложения в верхней навигационной панели.

Настройка репозитория в GitLab

Подготовка

  1. Создайте файл requirements.txt, в котором должны быть перечислены следующие пакеты для установки:
    pytest       
    testit-pytest
    
  2. Поместите в репозиторий GitLab автотесты с декораторами externalID и workitemID. Данные декораторы должны совпадать с External ID автотестов и Global ID рабочих элементов в системе Test IT.
  3. Создайте файл connection_config.ini, в котором необходимо задать переменные окружения.
    [testit]       
    url={URL}
    privatetoken={PRIVATE_TOKEN}
    testrunID={TEST_RUN_ID}
    

Создание пайплайна

  1. Войдите в репозиторий GitLab.
  2. В навигационном меню выберите CI/CD > Editor.
  3. Нажмите Create New CI/CD Pipeline. Откроется редактор файла .gitlab-ci.yml.
  4. Настройте .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}
      
  5. Нажмите Commit changes.

Получение токена

  1. Войдите в репозиторий GitLab.
  2. В навигационном меню выберите Settings > CI/CD.
  3. Раскройте секцию Pipeline triggers и нажмите Add trigger. При необходимости добавьте описание.

Настройка вебхука в Test IT

  1. Откройте проект.
  2. В навигационном меню слева нажмите Вебхуки.
  3. Нажмите Создать.
  4. Укажите название нового вебхука и выберите тип события — Запуск автотестов.
  5. В шаге Состояние выберите статус вебхука Запущен.
  6. В поле URL вставьте строку https://{DOMAIN}/api/v4/projects/{PROJECT_ID}/trigger/pipeline, где DOMAIN нужно заменить на адрес вашего GitLab, а PROJECT_ID — на Global ID репозитория в GitLab. Убедитесь, что тип передаваемого запроса выставлен как POST.
  7. В шаге Параметры URL установите следующие передаваемые параметры:
    • ref = название ветки GitLab репозитория с автотестами
    • token = token триггера, созданного на этапе настройки репозитория.
    • variables[URL] = $SERVER_URL
    • variables[TEST_RUN_ID] = $TEST_RUN_ID
    • variables[PRIVATE_TOKEN] = секретный ключ API из профиля Test IT.
  8. В шаге Заголовки HTTP нажмите Далее.
  9. В шаге Тело HTTP в поле Тип контекста выберите Не отправлять контекст.
  10. Нажмите Сохранить.

Теперь при запуске автотестов из Test IT в GitLab будет запускаться пайплайн. Результаты пайплайна возвращаются в систему Test IT.

Обновлено: