Skip to content

friedrith/webhook-catcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

webhook-catcher

This is an express router to catch webhooks. So you add this router to your express server and this router will emit signal when webhooks are triggered by services.

Install

$ npm install webhook-catcher

Getting started

import WebhookCatcher from 'webhook-catcher'
import express from 'express'

const app = express()

const catcher = new WebhookCatcher({
  services: [ 'bitbucket', 'github' ],
  token: '...',
})

app
.use('/webhook', catcher.router)
.get('/', (req, res) => {
    res.send('ok')
})

catcher.on('push', (pullRequest) => {
  // pull request
  // {
  //   appName: ...,
  //   repositoy: ...,
  //   service: 'github' | 'bitbucket',
  //   branchSource: ...,
  //   branchDestination: ...,
  //   description: ...,
  //   title: ...,
  //   reviewers: ...,
  //   url: ...,
  //   see all fields in the following documentation
  // }
})

catcher.on('push', (push) => {
  // push
  // {
  //   appName: ...,
  //   repositoy: ...,
  //   service: 'github' | 'bitbucket',
  //   branch: '...', // which branch is concerned
  // }
})

Available services

For now, it manages services:

  • github
  • bitbucket

See how to define webhook in services in services documentation

If you want specific tokens for each service, you can also define the webhook catcher like this:

const catcher = new WebhookCatcher({
  services: [
    {
      name: 'bitbucket',
      token: '...',
    },
    {
      name: 'github',
      token: '...',
    }],
})

Available events

For now, it manages events:

  • push
  • pull request

See all events fields in events documentation

Links

About

Express router to catch webhooks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published