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.
GitHub AE is currently under limited release.

Configurar tu servidor para recibir cargas útiles

Aprende a conigurar un servidor para administrar las cargas útiles de webhook entrantes.

Ahora que nuestro webhook está listo para entregar mensajes, configuraremos un servidor básico de Sinatra para controlar las cargas entrantes.

Nota: Puede descargar el código fuente completo de este proyecto desde el repositorio platform-samples.

Escribir el servidor

Queremos que nuestro servidor escuche las solicitudes POST, en /payload, porque es donde hemos dicho a GitHub que está nuestra dirección URL. Como estamos usando ngrok para exponer nuestro entorno local, no necesitamos configurar un servidor real en línea, y podemos probar nuestro código cómodamente de manera local.

Vamos a configurar una pequeña app de Sinatra para que haga algo con la información. Nuestra configuración inicial podría tener un aspecto similar a este:

require 'sinatra'
require 'json'

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

(Si no está familiarizado con el funcionamiento de Sinatra, le recomendamos leer la guía de Sinatra).

Inicia este servidor.

Dado que hemos configurado nuestros webhooks para escuchar eventos relacionados con Issues, continúe y cree una nueva incidencia en el repositorio en el que está haciendo las pruebas. Una vez creada, regrese al terminal. Deberías ver algo más o menos como esto en tu salida:

$ ~/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"=>"...

¡Hecho! Configuraste exitosamente tu servidor para que escuche a los webhooks. Ahora el servidor puede procesar esta información de la manera que prefiera. Por ejemplo, si estuviera configurando una aplicación web "real", tal vez querría registrar parte de la salida JSON en una base de datos.

Para obtener más información sobre cómo trabajar con webhooks para divertirse y obtener beneficios, consulte la guía Prueba de webhooks.