Validate GitHub webhook events.
Install with npm:
$ npm install --save is-valid-github-event
Install with yarn:
$ yarn add is-valid-github-event
var isValid = require('is-valid-github-event');
Validates that the provided request is a valid GitHub webhook request with a valid GitHub event and action.
Params
req
{Object}: Instance of an HTTP Request object (usually from express, hapi, or koa)secret
{String}: Optional secret used to sign the GitHub request. Leave this out to just checkevent
oraction
options
{Object}: Additional options for validating againstevent
andaction
.options.event
{String}: The GitHub event to validate against. See typeof-github-event for more information.options.action
{String}: The event action to validate against. See GitHub API docs for more information.returns
{Boolean}: Returnstrue
when valid andfalse
when not.
Example
// using an express middleware
express.post('/webhook', function(req, res) {
if (!isValid(req, 'my-secret', {event: 'issues', action: 'opened'})) {
res.status(500);
res.send({message: 'Invalid request'});
return;
}
res.status(200);
res.send({message: 'Valid request'});
})
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the contributing guide for advice on opening issues, pull requests, and coding standards.
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verb
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test
Brian woodward
Copyright © 2017, Brian woodward. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on May 18, 2017.