node-github-webhook

1.0.7 • Public • Published

node-github-webhook

Github Webhooks handler based on Node.js. Support multiple handlers.

Language

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.

Notice: Github Webhooks setting: Content-type must be application/json.

Installation

npm install node-github-webhook --save

Usage

var http = require('http')
var createHandler = require('node-github-webhook')
var handler = createHandler([ // multiple handlers
  { path: '/webhook1', secret: 'secret1' },
  { path: '/webhook2', secret: 'secret2' }
])
// var handler = createHandler({ path: '/webhook1', secret: 'secret1' }) // single handler
 
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':
      // do sth about webhook1
      break
    case '/webhook2':
      // do sth about webhook2
      break
    default:
      // do sth else or nothing
      break
  }
})

Readme

Keywords

Package Sidebar

Install

npm i node-github-webhook

Weekly Downloads

2

Version

1.0.7

License

MIT

Last publish

Collaborators

  • xiaoping