Сведения о получении веб-перехватчиков с помощью GitHub CLI
При внесении изменений в код интеграции выполнение кода в локальной среде позволяет тестировать и выполнять итерацию быстро, не развертывая код. Вы можете использовать GitHub CLI для пересылки веб-перехватчиков в локальную среду.
Переадресация веб-перехватчика в GitHub CLI работает только с репозиториями и веб-перехватчиками организации. Если вы хотите протестировать другие типы веб-перехватчиков локально, это необходимо сделать вручную. Дополнительные сведения см. в разделе Тестирование веб-перехватчиков.
Warning
Переадресация веб-перехватчиков предназначена только для использования во время тестирования и разработки. Он не поддерживается для использования в рабочих средах для обработки динамических веб-перехватчиков.
Получение веб-перехватчиков с GitHub CLI
Дополнительные сведения о GitHub CLIсм. в разделе "Сведения о GitHub CLI".
-
Чтобы установить расширение GitHub CLI для включения пересылки веб-перехватчика, используйте
extension install
подкоманда.gh extension install cli/gh-webhook
-
Если вы хотите перенаправить веб-перехватчики организации, добавьте
admin:org_hook
область в имя входа GitHub CLI, чтобы у вас были необходимые разрешения.gh auth refresh --scopes admin:org_hook
-
Запустите приложение локально и запишите URL-адрес, в котором он ожидает получения веб-перехватчиков. В этом руководстве предполагается, что приложение прослушивает события веб-перехватчика.
http://localhost:3000/webhook
-
Чтобы настроить веб-перехватчики для доставки в приложение, запустите
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-адресу.
Note
Только один пользователь может использовать переадресацию веб-перехватчиков одновременно для каждого репозитория и организации. Если вы пытаетесь настроить перенаправление веб-перехватчиков, а кто-то другой уже работает с этой организацией или репозиторием, вы получите ошибку Hook already exists
.