Новости

Как работает автосинхронизация Git в SaveTest?

После push обновленный тестовый сценарий уже лежит в репозитории, но коллеги, открывшие SaveTest, могут по-прежнему видеть его предыдущую версию. Так происходит, если библиотеку на платформе обновляют вручную и после очередного изменения никто не нажал «Синхронизировать». В результате команда работает с разными версиями одной и той же тестовой документации.

Автосинхронизация позволяет убрать этот ручной шаг. Получив уведомление о push, SaveTest запускает обновление библиотеки и загружает актуальные тестовые файлы. Настроить такой обмен можно для GitLab и GitHub.


Как это работает

  1. Вы отправляете изменения в репозиторий командой push.
  2. GitLab или GitHub отправляет вебхук в SaveTest.
  3. Платформа проверяет запрос с помощью API-токена SaveTest для GitLab или секрета вебхука проекта для GitHub.
  4. После успешной проверки запускается синхронизация.
  5. SaveTest обращается к репозиторию с учетными данными Git из настроек проекта (git_username и git_token).
  6. Библиотека тест-кейсов обновляется.

Токен SaveTest и секрет вебхука нужны для проверки входящего запроса, а учетные данные Git используются для доступа к файлам. При настройке интеграции важно учитывать обе проверки. Ручная кнопка «Синхронизировать» на странице проекта остается доступной.


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

Сначала создайте API-токен в профиле SaveTest, открыв «Профиль → API-токены». Он понадобится для авторизации запроса на синхронизацию. Затем перейдите в GitLab:
  1. Откройте проект → Settings → Webhooks → Add new webhook.
  2. В поле URL укажите эндпоинт SaveTest с идентификатором проекта.
  3. В разделе Trigger выберите Push events.
  4. В Custom Headers добавьте заголовок Authorization со значением Bearer sat_токен_с_платформы.
  5. Нажмите Add webhook.

Для проверки нажмите Test на странице вебхука и выберите Push events. Результат пробного запроса появится в Recent events. Затем измените тестовый файл, сделайте push и убедитесь, что библиотека в SaveTest обновилась автоматически.


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

В SaveTest откройте «Настройки → Синхронизация». Если проект уже связан с репозиторием GitHub, здесь появится карточка GitHub Webhook с полями Payload URL и Secret. Скопируйте их значения для настройки вебхука. Затем перейдите в GitHub:
  1. Откройте репозиторий → Settings → Webhooks → Add webhook.
  2. Вставьте скопированные Payload URL и Secret.
  3. В Content type выберите application/json.
  4. Для Events выберите Just the push event.
  5. Нажмите Add webhook.

В разделе Recent Deliveries можно проверить доставку вебхука и повторно отправить запрос кнопкой Redeliver. После настройки отредактируйте тестовый файл в репозитории, сделайте push и проверьте, появились ли изменения в SaveTest.


На что обратить внимание

  • Автосинхронизация доступна в проекте типа Git. В классическом проекте настройки репозитория и синхронизация недоступны.
  • Для приватного репозитория заранее заполните имя пользователя Git и токен доступа при создании или настройке проекта.
  • Для интеграции удобнее использовать отдельный технический аккаунт. Если синхронизация зависит от личного токена сотрудника, отзыв этого токена или изменение прав может остановить обновление библиотеки.
  • Настраивать синхронизацию могут владелец и модератор проекта. Участнику также доступен ручной запуск.

После настройки вебхука команда продолжает редактировать и отправлять тестовые файлы привычным способом. SaveTest обновляет библиотеку автоматически, а ручной запуск остается доступен для разового обновления.