node-github-webhook
Github Webhooks handler based on Node.js. Support multiple handlers.
Instructions
This library is inspired by github-webhook-handler, and it allows you set multiple handlers for different repositories.
It is a small tool based on Node.js to help you handler all the logic for receiving and verifying webhook requests from GitHub.
If you want to know the events of Github, please see: events.
Usage
var http = require('http')
var createHandler = require('node-github-webhook')
var handler = createHandler([
{ path: '/webhook1', secret: 'secret1' },
{ path: '/webhook2', secret: 'secret2' }
])
http.createServer(function (req, res) {
handler(req, res, function (err) {
res.statusCode = 404
res.end('no such location')
})
}).listen(7777)
handler.on('error', function (err) {
console.error('Error:', err.message)
})
handler.on('push', function (event) {
console.log(
'Received a push event for %s to %s',
event.payload.repository.name,
event.payload.ref
)
switch(event.path) {
case '/webhook1':
break
case '/webhook2':
break
default:
break
}
})