Configurar um webhook para um repositório do GitHub

Concluído

No GitHub, webhooks podem ser configurados para uma organização ou para um repositório específico. Um webhook é acionado cada vez que um ou mais eventos inscritos ocorrem. Por exemplo, o evento Gollum permite que você ouça atualizações wiki, em particular, a criação e atualizações para uma página wiki.

Nesta unidade, você aprenderá como configurar um webhook que escuta um evento de mudança no wiki do GitHub da sua empresa.

Configurar um webhook

O processo de configuração de um webhook é composto por dois passos. Primeiro, você especifica no GitHub como deseja que seu webhook se comporte e quais eventos ele ouvirá. Em segundo lugar, você configura sua função no Azure Functions para receber e gerenciar a carga recebida do webhook. No cenário de exemplo, estamos configurando um webhook para um repositório específico.

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

Antes de poder utilizar webhooks, precisa de configurar algumas opções. Em seguida, iremos explicar cada uma destas definições.

URL do payload

O URL do payload é o URL do servidor que receberá os pedidos POST do webhook.

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

Tipo de conteúdo

Os webhooks podem ser entregues com dois tipos de conteúdo diferentes:

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

Nota

A página Add webhook (Adicionar webhook) também lhe permite especificar como proteger as informações enviadas pelo webhook através de um Segredo. Este tópico será abordado posteriormente neste módulo.

Eventos

Os eventos estão no centro dos webhooks. Os eventos ocorrem sempre que são tomadas ações no repositório. Quando o evento ocorre, o webhook dispara e chama a URL que você especificar, enviando a carga útil e as informações do evento para sua URL. Por exemplo, para responder sempre que um problema for levantado em um repositório, selecione Permitir que eu selecione eventos individuais e, em seguida, marque a caixa de seleção Problemas . Certifique-se de marcar a caixa de seleção Ativo para receber eventos de problema para webhooks acionados. Em seguida, selecione Adicionar webhook para ativar o gatilho.

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

Uma lista completa de eventos webhook, e quando eles podem ser executados, pode ser encontrada visitando Eventos Webhooks do GitHub.

No próximo exercício, vamos explicar-lhe o processo de configuração de um webhook para um repositório do GitHub.