Skip to main content

Использование интерфейса командной строки GitHub для пересылки веб-перехватчиков для тестирования

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

Сведения о получении веб-перехватчиков с помощью GitHub CLI

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

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

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

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

Дополнительные сведения о GitHub CLIсм. в разделе "Сведения о GitHub CLI".

  1. Чтобы установить расширение GitHub CLI для включения пересылки веб-перехватчика, используйте extension install подкоманда.

    gh extension install cli/gh-webhook
    
  2. Если вы хотите перенаправить веб-перехватчики организации, добавьте admin:org_hook область в имя входа GitHub CLI, чтобы у вас были необходимые разрешения.

    gh auth refresh --scopes admin:org_hook
    
  3. Запустите приложение локально и запишите URL-адрес, в котором он ожидает получения веб-перехватчиков. В этом руководстве предполагается, что приложение прослушивает события веб-перехватчика.http://localhost:3000/webhook

  4. Чтобы настроить веб-перехватчики для доставки в приложение, запустите webhook forward подкоманда. Замените REPOSITORY именем репозитория. Например, monalisa/octocat. Замените EVENTS разделенным запятыми список событий, которые требуется получить. Например, issues,pull_request. Замените URL локальным URL-адресом, в котором приложение ожидает получения веб-перехватчиков. Например, "http://localhost:3000/webhook". Чтобы прослушивать веб-перехватчики организации вместо веб-перехватчиков репозитория, замените --repo флаг флагом --org . Например, --org="octo-org".

    gh webhook forward --repo=REPOSITORY --events=EVENTS --url=URL
    

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

Примечание. Только один пользователь может использовать переадресацию веб-перехватчика одновременно для каждого репозитория и организации. Если вы пытаетесь настроить перенаправление веб-перехватчиков, а кто-то другой уже работает с этой организацией или репозиторием, вы получите ошибку Hook already exists .