Configurar um webhook para um repositório do GitHub

Concluído

No GitHub, você pode configurar webhooks para uma organização ou para um repositório específico. Um webhook é disparado sempre que um ou mais eventos assinados ocorrem. Por exemplo, o evento Gollum permite que você escute atualizações da wiki, especificamente, a criação e atualizações de uma página da wiki.

Nesta unidade, você aprenderá a configurar um webhook que ouve um evento de alteração do wiki do GitHub da sua empresa.

Configurar um webhook

Configurar um webhook é um processo de duas etapas. Primeiro, especifique no GitHub como deseja que o webhook se comporte e a quais eventos ele ouvirá. Em segundo lugar, configure sua função no Azure Functions para receber e gerenciar o conteúdo recebido do webhook. No caso do cenário de exemplo acima, estamos configurando um webhook em um repositório específico.

Para configurar o webhook, no portal do GitHub, selecione Configurações na barra de menus superior. A página Configurações é exibida, com o nome do seu repositório. No menu esquerdo, selecione Webhooks e Adicionar webhook. Você também pode criar e gerenciar um webhook por meio da API de WebHooks, que não é abordada neste módulo.

Webhooks exigem algumas opções de configuração antes de você poder usá-los. Abordaremos cada uma dessas configurações a seguir.

URL do conteúdo

A URL de payload é a URL do servidor que receberá as solicitações POST do webhook.

Cada tipo de evento tem um formato de conteúdo específico. Esse payload contém informações sobre o evento que disparou o webhook.

Tipo de conteúdo

Webhooks podem ser entregues usando dois tipos de conteúdo diferentes:

  • O tipo de conteúdo application/json entrega a payload JSON diretamente como o corpo de uma solicitação POST.
  • O tipo de conteúdo application/x-www-form-urlencoded envia o JSON payload como um parâmetro de formulário chamado payload.

Observação

A página Adicionar webhook também permite que você especifique como proteger as informações enviadas pelo webhook usando um Segredo. Abordaremos este tópico mais adiante neste módulo.

Eventos

Os eventos são o cerne dos webhooks. Os eventos ocorrem sempre que as ações são executadas no repositório. Quando o evento ocorre, o webhook é disparado e chama a URL que você especifica, enviando junto o conteúdo e as informações de evento para a URL. Por exemplo, para responder sempre que um problema é gerado em um repositório, selecione Deixe-me selecionar eventos individuais e, em seguida, marque a caixa de seleção Problemas. Verifique se você marcou a caixa de seleção Ativo para receber eventos de problema para webhooks disparados. Em seguida, selecione Adicionar webhook para ativar o gatilho.

Para escutar as atualizações do wiki para o repositório, marque a caixa de seleção Wiki, esse evento é o evento do Gollum mencionado anteriormente. Selecione Adicionar webhook para salvar todos os eventos individuais selecionados.

Você pode encontrar uma lista completa de eventos de webhook e quando eles podem ser executados visitando eventos e cargas do Webhook.

No próximo exercício, orientaremos você pelo processo de configuração de um webhook para um repositório do GitHub.