Skip to main content

Эта версия GitHub Enterprise Server была прекращена 2024-03-26. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Тестирование веб-перехватчиков

Узнайте, как протестировать веб-перехватчики и код, обрабатывающий поставки веб-перехватчика.

Сведения о тестировании веб-перехватчиков

Вы можете протестировать доставку веб-перехватчика. Это позволит убедиться, что GitHub отправляет доставку веб-перехватчика в ответ на событие, которое вы ожидаете активировать доставку веб-перехватчика.

Вы также можете протестировать код, который обрабатывает поставки веб-перехватчиков с помощью компьютера или пространства кода в качестве локального сервера и пересылки доставки веб-перехватчика на локальный сервер. Это позволит разрабатывать и отлаживать код без развертывания кода на рабочем сервере.

Тестирование доставки веб-перехватчика

Вы можете активировать событие веб-перехватчика и убедиться, что GitHub отправил доставку веб-перехватчика.

  1. Активируйте веб-перехватчик. Например, если вы тестируете веб-перехватчик репозитория, который подписан issues на событие, откройте проблему в репозитории, где настроен веб-перехватчик.

    Вы также можете переделить предыдущую доставку веб-перехватчика. Дополнительные сведения см. в разделе Повторное создание веб-перехватчиков.

    Если вы используете веб-перехватчик организации или репозитория, можно также использовать REST API для активации ping события для веб-перехватчика. Если вы используете веб-перехватчик репозитория, а веб-перехватчик подписан push на событие, вы можете использовать REST API для активации тестового push события для веб-перехватчика. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Конечные точки REST API для веб-перехватчиков репозитория](/rest/orgs/webhooks)".

  2. Проверьте GitHub для проверки отправки веб-перехватчика. Сведения о том, как это сделать для каждого типа веб-перехватчика, см. в разделе "Просмотр доставленных данных веб-перехватчика".

Если доставка веб-перехватчика не была отправлена, или если доставка веб-перехватчика была отправлена, но GitHub указывает, что доставка завершилась сбоем, обратитесь к руководству по устранению неполадок, чтобы помочь диагностировать проблему. Дополнительные сведения см. в разделе Устранение неполадок веб-перехватчиков.

Локальное тестирование кода веб-перехватчика

Для локального тестирования кода веб-перехватчика на компьютере или пространстве кода можно использовать URL-адрес прокси-сервера веб-перехватчика для пересылки веб-перехватчиков из GitHub на компьютер или пространство кода. Вы можете использовать компьютер или пространство кода в качестве локального сервера для получения этих перенаправленных веб-перехватчиков.

В следующих разделах показано, как использовать smee.io для предоставления URL-адреса прокси-сервера веб-перехватчика и перенаправления веб-перехватчиков.

Конкретные примеры действий по коду и тестированию см. в разделе "Обработка доставки веб-перехватчика".

Получение URL-адреса прокси-сервера веб-перехватчика

  1. В браузере перейдите по адресу https://smee.io/.
  2. Нажмите кнопку " Пуск нового канала".
  3. Скопируйте полный URL-адрес в разделе "URL-адрес прокси-сервера веб-перехватчика". Этот URL-адрес будет использоваться в следующих шагах установки.

Настройка веб-перехватчика для использования URL-адреса прокси-сервера веб-перехватчика

Настройте веб-перехватчик для использования URL-адреса прокси-сервера веб-перехватчика выше. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Создание веб-перехватчиков](/webhooks/using-webhooks/editing-webhooks)".

Теперь GitHub отправляет доставку веб-перехватчика в этот URL-адрес.

Запуск локального сервера

На компьютере или в пространстве кода запустите локальный сервер. Способ этого зависит от того, как будет записан код для получения веб-перехватчиков. Примеры см. в разделе "Обработка доставки веб-перехватчика".

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

Вы также можете добавить инструкции журнала, чтобы убедиться, что шаги кода выполнены должным образом.

Сохраняйте работу локального сервера во время тестирования веб-перехватчика.

Перенаправление веб-перехватчиков

  1. Если у вас еще нет see-client , выполните следующую команду в терминале:

    Shell
    npm install --global smee-client
    
  2. Чтобы получить перенаправленные веб-перехватчики из smee.io, выполните следующую команду в терминале. Замените WEBHOOK_PROXY_URL URL-адрес прокси-сервера веб-перехватчика ранее. Замените PATH путь или маршрут, который будет обрабатывать сервер. Замените PORT портом, в котором прослушивается локальный сервер.

    Shell
    smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT
    

    Вы должны увидеть выходные данные, которые выглядят следующим образом, а WEBHOOK_PROXY_URL``PORT``PATH заполнители заменены указанными значениями:

    Shell
    Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:PORT/PATH
    Connected WEBHOOK_PROXY_URL
    

    Теперь, когда URL-адрес прокси-сервера веб-перехватчика (smee.io URL-адрес) получает доставку веб-перехватчика от GitHub, smee перенаправит доставку веб-перехватчика на локальный сервер.

  3. Сохраните эту работу, пока вы тестируете веб-перехватчик. Если вы хотите прекратить переадресацию веб-перехватчиков, введите CTRL+C.

На этом этапе необходимо запустить локальный сервер и переадресацию smee.

Активация доставки веб-перехватчика

Активируйте веб-перехватчик. Например, если вы тестируете веб-перехватчик репозитория, который подписан issues на событие, откройте проблему в репозитории, где настроен веб-перехватчик.

Вы также можете переделить предыдущую доставку веб-перехватчика. Дополнительные сведения см. в разделе Повторное создание веб-перехватчиков.

Проверка доставки

Вы можете убедиться, что GitHub отправил доставку веб-перехватчика, полученную и переадресованную доставку, и что локальный сервер обработал доставку веб-перехватчика.

Убедитесь, что GitHub отправил доставку

Проверьте GitHub для проверки отправки веб-перехватчика. Дополнительные сведения см. в разделе Просмотр доставленных данных веб-перехватчика.

Если доставка веб-перехватчика не была отправлена, или если доставка веб-перехватчика была отправлена, но GitHub указывает, что доставка завершилась сбоем, обратитесь к руководству по устранению неполадок, чтобы помочь диагностировать проблему. Дополнительные сведения см. в разделе Устранение неполадок веб-перехватчиков.

Убедитесь, что smee получил доставку веб-перехватчика

Перейдите по URL-адресу прокси-сервера веб-перехватчика на smee.io. Должно появиться событие, соответствующее событию, которое вы активировали или перевели. Это означает, что GitHub успешно отправил доставку веб-перехватчика в указанный URL-адрес полезных данных.

Если вы не видите доставку веб-перехватчика на smee.io, убедитесь, что веб-перехватчик использует URL-адрес прокси-сервера веб-перехватчика (smee.io URL-адрес).

Убедитесь, что smee перенаправил доставку веб-перехватчика

В окне терминала, где вы выполнили, smee --url WEBHOOK_PROXY_URL --path /PATH --port PORTвы должны увидеть что-то подобное POST http://127.0.0.1:3000/webhook - 202. Это означает, что smee успешно перенаправил веб-перехватчик на локальный сервер.

Если вы этого не видите, убедитесь, что запущен как клиент smee, так и локальный сервер. Эти процессы должны выполняться в двух отдельных окнах терминала.

Кроме того, следует проверка для ошибок в окнах терминала, где выполняется клиент smee и локальный сервер. Конкретные ошибки зависят от способа записи кода для получения веб-перехватчиков. Примеры см. в разделе "Обработка доставки веб-перехватчика".

Убедитесь, что локальный сервер обработал доставку веб-перехватчика

На этом этапе вы проверили, что GitHub отправил доставку веб-перехватчика, и он перенаправил доставку на локальный сервер. Теперь необходимо убедиться, что код обработал доставку веб-перехватчика должным образом. Способ этого зависит от того, как будет записан код для получения веб-перехватчиков. Примеры см. в разделе "Обработка доставки веб-перехватчика".