Sobre como receber webhooks com GitHub CLI
Ao fazer alterações no código de integração, execute-o em um ambiente local para testar e iterar rapidamente sem precisar realizar implantações. É possível usar GitHub CLI para encaminhar webhooks ao ambiente local.
O encaminhamento de webhook na GitHub CLI funciona somente com webhooks de repositório e de organização. Se quiser testar outros tipos de webhooks localmente, precisará fazer isso manualmente. Para saber mais, confira Testar webhooks.
Warning
O encaminhamento de webhook foi projetado somente para uso durante testes e desenvolvimento. Não há suporte para uso em ambientes de produção ao lidar com webhooks ativos.
Como receber webhooks com a GitHub CLI
Note
Para saber mais sobre GitHub CLI, confira "Sobre o a CLI do GitHub".
-
Para instalar a extensão de GitHub CLI a fim de habilitar o encaminhamento de webhook, use o subcomando
extension install
.gh extension install cli/gh-webhook
-
Se você quiser encaminhar webhooks da organização, adicione o escopo
admin:org_hook
ao seu logon do GitHub CLI para ter as permissões necessárias.gh auth refresh --scopes admin:org_hook
-
Inicie o aplicativo localmente e anote a URL em que ele espera receber webhooks. Este guia pressupõe que o aplicativo está ouvindo eventos de webhook em
http://localhost:3000/webhook
. -
Para configurar os webhooks para serem entregues ao aplicativo, execute o subcomando
webhook forward
. SubstituaREPOSITORY
pelo nome do repositório. Por exemplo,monalisa/octocat
. SubstituaEVENTS
por uma lista separada por vírgulas dos eventos que você deseja receber. Por exemplo,issues,pull_request
. SubstituaURL
pela URL local em que o aplicativo espera receber webhooks. Por exemplo,"http://localhost:3000/webhook"
. Para escutar webhooks de organização em vez de webhooks de repositório, substitua o sinalizador--repo
pelo sinalizador--org
. Por exemplo,--org="octo-org"
.gh webhook forward --repo=REPOSITORY --events=EVENTS --url=URL
Deixe o comando em execução em segundo plano. Ele receberá todos os eventos especificados para o repositório indicado e os encaminhará para o manipulador de webhook em execução na URL especificada.
Note
Somente uma pessoa pode usar o encaminhamento de webhook por vez para cada repositório e organização. Ao tentar configurar o encaminhamento de webhook, se outra pessoa já estiver trabalhando com essa organização ou repositório, você receberá um erro Hook already exists
.