Skip to main content

Usando a CLI do GitHub para encaminhar webhooks para testes

É possível usar o GitHub CLI para testar webhooks no ambiente de desenvolvimento sem a complexidade do redirecionamento de porta ou de ferramentas de terceiros.

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.

Aviso

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

Observação

Para saber mais sobre GitHub CLI, confira Sobre GitHub CLI.

  1. Observação

Para saber mais sobre GitHub CLI, confira Sobre GitHub CLI.

gh extension install cli/gh-webhook
  1. Para instalar a extensão de GitHub CLI a fim de habilitar o encaminhamento de webhook, use o subcomando extension install.

    gh auth refresh --scopes admin:org_hook
    
  2. 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. Inicie o aplicativo localmente e anote a URL em que ele espera receber webhooks.

  3. 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. Substitua REPOSITORY pelo nome do repositório. Por exemplo, monalisa/octocat. Substitua EVENTS por uma lista separada por vírgulas dos eventos que você deseja receber. Por exemplo, issues,pull_request. Substitua URL 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.

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

Por exemplo, --org="octo-org". Deixe o comando em execução em segundo plano.

Observação

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. Somente uma pessoa pode usar o encaminhamento de webhook por vez para cada repositório e organização.