После push обновленный тестовый сценарий уже лежит в репозитории, но коллеги, открывшие SaveTest, могут по-прежнему видеть его предыдущую версию. Так происходит, если библиотеку на платформе обновляют вручную и после очередного изменения никто не нажал «Синхронизировать». В результате команда работает с разными версиями одной и той же тестовой документации.
Автосинхронизация позволяет убрать этот ручной шаг. Получив уведомление о push, SaveTest запускает обновление библиотеки и загружает актуальные тестовые файлы. Настроить такой обмен можно для GitLab и GitHub.
Как это работает
Токен SaveTest и секрет вебхука нужны для проверки входящего запроса, а учетные данные Git используются для доступа к файлам. При настройке интеграции важно учитывать обе проверки. Ручная кнопка «Синхронизировать» на странице проекта остается доступной.
Настройка вебхука в GitLab
Сначала создайте API-токен в профиле SaveTest, открыв «Профиль → API-токены». Он понадобится для авторизации запроса на синхронизацию. Затем перейдите в GitLab:
Для проверки нажмите Test на странице вебхука и выберите Push events. Результат пробного запроса появится в Recent events. Затем измените тестовый файл, сделайте 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:
- Откройте репозиторий → Settings → Webhooks → Add webhook.
- Вставьте скопированные Payload URL и Secret.
- В Content type выберите application/json.
- Для Events выберите Just the push event.
- Нажмите Add webhook.
В разделе Recent Deliveries можно проверить доставку вебхука и повторно отправить запрос кнопкой Redeliver. После настройки отредактируйте тестовый файл в репозитории, сделайте push и проверьте, появились ли изменения в SaveTest.
На что обратить внимание
- Автосинхронизация доступна в проекте типа Git. В классическом проекте настройки репозитория и синхронизация недоступны.
- Для приватного репозитория заранее заполните имя пользователя Git и токен доступа при создании или настройке проекта.
- Для интеграции удобнее использовать отдельный технический аккаунт. Если синхронизация зависит от личного токена сотрудника, отзыв этого токена или изменение прав может остановить обновление библиотеки.
- Настраивать синхронизацию могут владелец и модератор проекта. Участнику также доступен ручной запуск.
После настройки вебхука команда продолжает редактировать и отправлять тестовые файлы привычным способом. SaveTest обновляет библиотеку автоматически, а ручной запуск остается доступен для разового обновления.