koa-github-hook-handler

handle github/gitea/bitbucket webhook requests

Usage no npm install needed!

<script type="module">
  import koaGithubHookHandler from 'https://cdn.skypack.dev/koa-github-hook-handler';
</script>

README

npm License minified size downloads GitHub Issues Build Status Styled with prettier Commitizen friendly Known Vulnerabilities Coverage Status

koa-github-hook-handler

handle github/gitea/bitbucket requests

import Koa from "koa";
import Router from "koa-better-router";
import { createGithubHookHandler } from "koa-github-hook-handler";

...

const router = Router();
const secret = "...";

router.addRoute(
  "POST",
  "/hook",
  createGithubHookHandler(
    {
      push: async request => {
        console.log("PUSH",request);
        return { ok: true };
      }
    },
    { secret }
  )
);

API

Table of Contents

KoaHandler

Type: Function

Parameters

WebhookHandler

Type: Function

Parameters

  • request Object decoded request body
  • event string from 'x-github-event' header
  • ctx Context from koa

createGithubHookHandler

Create a koa middleware suitable to bridge github webhook requests to KoaHandlers

Parameters

  • actions Object holding all the handles for the events (event is the key)

  • config Object (optional, default {})

    • config.secret string to decode signature

Returns KoaHandler suitable as koa middleware

createGiteaHookHandler

Create a koa middleware suitable to bridge gitea webhook requests to KoaHandlers

Parameters

  • actions Object holding all the handles for the events (event is the key)

  • config Object (optional, default {})

    • config.secret string to decode signature

Returns KoaHandler suitable as koa middleware

createBitbucketHookHandler

Create a koa middleware suitable to bridge gitea webhook requests to KoaHandlers

Parameters

  • actions Object holding all the handles for the events (event is the key)

  • config Object (optional, default {})

    • config.secret string to decode signature

Returns KoaHandler suitable as koa middleware

install

With npm do:

npm install koa-github-hook-handler

license

BSD-2-Clause