Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Configurar seu servidor para receber cargas

Aprenda a configurar um servidor para gerenciar as cargas de webhook recebidas.

Agora que nosso webhook está pronto para entregar mensagens, vamos configurar um servidor do Sinatra básico para processar o conteúdo recebido.

Observação: baixe o código-fonte completo deste projeto no repositório platform-samples.

Escrevendo o servidor

Queremos que nosso servidor ouça as solicitações POST, em /payload, porque foi nele que informamos ao GitHub a URL de webhook. Como você usou o ngrok para expor o ambiente local, não precisa configurar um servidor real em algum lugar online e pode testar o código localmente.

Vamos configurar um pouco o aplicativo Sinatra para fazer algo com as informações. Nossa configuração inicial pode ficar parecida com esta:

require 'sinatra'
require 'json'

post '/payload' do
  push = JSON.parse(request.body.read)
  puts "I got some JSON: #{push.inspect}"
end

(Se você não estiver familiarizado com o funcionamento do Sinatra, recomendamos ler o guia do Sinatra).

Inicie este servidor.

Como configuramos o webhook para ouvir os eventos que processam Issues, vá em frente e crie um problema no repositório com o qual você está testando. Depois de criá-lo, volte ao terminal. Você deve ver algo assim em sua saída:

$ ~/Developer/platform-samples/hooks/ruby/configuring-your-server $ ruby server.rb
> == Sinatra/1.4.4 has taken the stage on 4567 for development with backup from Thin
> >> Thin web server (v1.5.1 codename Straight Razor)
> >> Maximum connections set to 1024
> >> Listening on localhost:4567, CTRL+C to stop
> I got some JSON: {"action"=>"opened", "issue"=>{"url"=>"...

Sucesso! Você configurou seu servidor com sucesso para ouvir webhooks. O servidor já pode processar essas informações da forma que você achar melhor. Por exemplo, se você estiver configurando um aplicativo Web "real", o ideal será registrar em log uma parte da saída JSON em um banco de dados.

Para obter mais informações sobre como trabalhar com webhooks por diversão e para ganhar dinheiro, acesse o guia Como testar webhooks.