После push обновленный тестовый сценарий уже лежит в репозитории, но коллеги, открывшие SaveTest, могут по-прежнему видеть его предыдущую версию. Так происходит, если библиотеку на платформе обновляют вручную и после очередного изменения никто не нажал «Синхронизировать». В результате команда работает с разными версиями одной и той же тестовой документации.
Автосинхронизация позволяет убрать этот ручной шаг. Получив уведомление о push, SaveTest запускает обновление библиотеки и загружает актуальные тестовые файлы. Настроить такой обмен можно для GitLab и GitHub.
Как это работает
Вы отправляете изменения в репозиторий командой push.
GitLab или GitHub отправляет вебхук в SaveTest.
Платформа проверяет запрос с помощью API-токена SaveTest для GitLab или секрета вебхука проекта для GitHub.
После успешной проверки запускается синхронизация.
SaveTest обращается к репозиторию с учетными данными Git из настроек проекта (git_username и git_token).
Библиотека тест-кейсов обновляется.
Токен SaveTest и секрет вебхука нужны для проверки входящего запроса, а учетные данные Git используются для доступа к файлам. При настройке интеграции важно учитывать обе проверки. Ручная кнопка «Синхронизировать» на странице проекта остается доступной.
Настройка вебхука в GitLab
Сначала создайте API-токен в профиле SaveTest, открыв «Профиль → API-токены». Он понадобится для авторизации запроса на синхронизацию. Затем перейдите в GitLab:
Откройте проект → Settings → Webhooks → Add new webhook.
В поле URL укажите эндпоинт SaveTest с идентификатором проекта.
В разделе Trigger выберите Push events.
В Custom Headers добавьте заголовок Authorization со значением Bearer sat_токен_с_платформы.
Нажмите Add webhook.
Для проверки нажмите Test на странице вебхука и выберите Push events. Результат пробного запроса появится в Recent events. Затем измените тестовый файл, сделайте push и убедитесь, что библиотека в SaveTest обновилась автоматически.
Настройка вебхука в GitHub
В SaveTest откройте «Настройки → Синхронизация». Если проект уже связан с репозиторием GitHub, здесь появится карточка GitHub Webhook с полями Payload URL и Secret. Скопируйте их значения для настройки вебхука. Затем перейдите в GitHub:
В разделе Recent Deliveries можно проверить доставку вебхука и повторно отправить запрос кнопкой Redeliver. После настройки отредактируйте тестовый файл в репозитории, сделайте push и проверьте, появились ли изменения в SaveTest.
На что обратить внимание
Автосинхронизация доступна в проекте типа Git. В классическом проекте настройки репозитория и синхронизация недоступны.
Для приватного репозитория заранее заполните имя пользователя Git и токен доступа при создании или настройке проекта.
Для интеграции удобнее использовать отдельный технический аккаунт. Если синхронизация зависит от личного токена сотрудника, отзыв этого токена или изменение прав может остановить обновление библиотеки.
Настраивать синхронизацию могут владелец и модератор проекта. Участнику также доступен ручной запуск.
После настройки вебхука команда продолжает редактировать и отправлять тестовые файлы привычным способом. SaveTest обновляет библиотеку автоматически, а ручной запуск остается доступен для разового обновления.