node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey ยป



npm version

Chimneypot is a lightweight Node.js handler for GitHub webhooks. It allows you to listen to all kinds of GitHub events and execute functions on your server.


Chimneypot was designed to be simple, succinct and easy to use.

To print to the console every time you receive a push event from your repo:

var chimneypot = require('chimneypot');

var pot = new chimneypot({
  port: 3000,
  path: '/hook',
  secret: '08394e1da557b56373ece704d5bcee45'

pot.route('push', function (event) {
  console.log('We have received a push event!');


Chimneypot will then be listening for any push events to *:3000/hook. When it receives a push event, it will log to the console:

We have received a push event!


You can install the Chimneypot npm package with the following command:

$ npm install chimneypot --save


Chimneypot is completely released into the public domain, using The Unlicense. To see the full license text included with the project, you can read the LICENSE file.