Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise será descontinuada em Esta versão do GitHub Enterprise foi descontinuada em 2020-08-20. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Versão do artigo: Enterprise Server 2.18

Criar webhooks

Aprenda a criar um webhook, escolhendo os eventos que seu webhook irá ouvir em GitHub e como configurar um servidor para receber e gerenciar a carga de webhook.

Neste artigo

Agora que entendemos os conceitos básicos de webhooks, vamos analisar o processo de criação da nossa própria integração com o webhook. Neste tutorial, vamos criar um webhook de repositório que será responsável por listar quão popular é o nosso repositório, com base no número de problemas que recebe por dia.

Criar um webhook é um processo de duas etapas. Primeiro, você deverá configurar como deseja que seu webhook se comporte através do GitHub Enterprise - quais eventos devem ser ouvidos. Em seguida, você irá configurar seu servidor para receber e gerenciar a carga.

Configurar um Webhook

É possível instalar webhooks em uma organização ou em um repositório específico.

Para configurar um webhook, vá para a página de configurações do seu repositório ou organização. Nessa página, clique em Webhooks e, em seguida, Adicionar webhook.

Como alternativa, você pode optar por criar e gerenciar um webhook através da API de Webhooks.

Os webhooks exigem algumas opções de configuração antes de você poder usá-los. Iremos analisar cada uma destas configurações abaixo.

URL de carga

The payload URL is the URL of the server that will receive the webhook POST requests.

Já que estamos desenvolvendo localmente para nosso tutorial, vamos definir como http://localhost:4567/payload. Vamos explicar o porquê na documentação Configurando seu servidor.

Tipo de conteúdo

Webhooks can be delivered using different content types:

  • The application/json content type will deliver the JSON payload directly as the body of the POST request.
  • The application/x-www-form-urlencoded content type will send the JSON payload as a form parameter called payload.

Choose the one that best fits your needs. Para este tutorial, o tipo de conteúdo-padrão para application/json está certo.

Segredo

Setting a webhook secret allows you to ensure that POST requests sent to the payload URL are from GitHub. When you set a secret, you'll receive the X-Hub-Signature header in the webhook POST request. For more details on how to use the secret and the X-Hub-Signature header to secure your webhook payloads, see "Securing your webhooks."

Verificação de SSL

If your "Payload URL" is a secure site (HTTPS), you will have the option to configure the SSL verification settings. If your "Payload URL" is not secure (HTTP), GitHub will not display this option. By default, GitHub verifies the SSL certificate of your website when delivering webhook payloads. SSL verification helps ensure that hook payloads are delivered to your URL endpoint securely. You have the option to disable SSL, but we recommend keeping Enable SSL verification selected.

Ativo

Por padrão, as entregas de webhook estão "Ativas". Você pode optar por desativar a entrega das cargas de webhook, desmarcando "Ativo".

Eventos

Os eventos encontram-se no núcleo dos webhooks. Esses webhooks são acionados sempre que uma determinada ação é tomada no repositório, a qual a URL da carga do seu servidor intercepta e e sobre a qual atua.

Uma lista completa de eventos de webhook e quando são executados pode ser encontrada na referência da API de webhooks.

Como nosso webhook está gerenciando problemas em um repositório, clicaremos em Deixe-me selecionar eventos individuais e, em seguida, problemas. Certifique-se de selecionar Ativo para receber eventos de problemas para webhooks acionados. Você também pode selecionar todos os eventos usando a opção-padrão.

Ao terminar, clique em Adicionar webhook. Ufa! Agora que você criou o webhook, é hora de configurar nosso servidor local para testar o webhook. Vá até Configurar seu servidor para aprender como fazê-lo.

Evento curinga

Para configurar um webhook para todos os eventos, use o caractere curinga (*) para especificar os eventos de webhook. Ao adicionar o evento curinga, substituiremos todos os eventos existentes que você tenha configurado pelo evento curinga e enviaremos todas as cargas para os eventos compatíveis. Você também obterá automaticamente todos os novos eventos que possamos adicionar no futuro.

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato