npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

githubbot

v0.1.2

Published

Starting point for registering event handlers and handling payloads coming from github webhooks. Allows usage of plugins to extend functionality for individual implementations.

Downloads

6

Readme

githubbot NPM version

Starting point for registering event handlers and handling payloads coming from github webhooks. Allows usage of plugins to extend functionality for individual implementations.

The main purpose of this module is to create a starting point for registering github webhook event handlers and triggering the handlers with a payload.

The actual web server pieces of handling github webhooks are not included in this module. See related-projects for usage with web servers and other implementations.

(TOC generated by verb)

Install

Install with npm

$ npm i githubbot --save

Usage

var bot = require('githubbot');

API

GithubBot

Create a new instance of a GithubBot with provided options.

Params

  • options {Object}: Options to configure the github bot.

Example

var bot = new GithubBot();

Events

Array of event types from https://developer.github.com/v3/activity/events/types/

commit-comment

Github webhook commit-comment event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onCommitComment(fn) method. Handle events by calling the .handleCommitComment(payload) method.

// listen for commit-comment events.
bot.onCommitComment(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the commit-comment event.
bot.handleCommitComment(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

create

Github webhook create event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onCreate(fn) method. Handle events by calling the .handleCreate(payload) method.

// listen for create events.
bot.onCreate(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the create event.
bot.handleCreate(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

delete

Github webhook delete event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onDelete(fn) method. Handle events by calling the .handleDelete(payload) method.

// listen for delete events.
bot.onDelete(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the delete event.
bot.handleDelete(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

deployment

Github webhook deployment event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onDeployment(fn) method. Handle events by calling the .handleDeployment(payload) method.

// listen for deployment events.
bot.onDeployment(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the deployment event.
bot.handleDeployment(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

deployment-status

Github webhook deployment-status event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onDeploymentStatus(fn) method. Handle events by calling the .handleDeploymentStatus(payload) method.

// listen for deployment-status events.
bot.onDeploymentStatus(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the deployment-status event.
bot.handleDeploymentStatus(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

download

Github webhook download event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onDownload(fn) method. Handle events by calling the .handleDownload(payload) method.

// listen for download events.
bot.onDownload(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the download event.
bot.handleDownload(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

follow

Github webhook follow event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onFollow(fn) method. Handle events by calling the .handleFollow(payload) method.

// listen for follow events.
bot.onFollow(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the follow event.
bot.handleFollow(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

fork

Github webhook fork event. Find more information about the payload for this event here.

Listen for this event registering a handler the .onFork(fn) method. Handle events by calling the .handleFork(payload) method.

// listen for fork events.
bot.onFork(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the fork event.
bot.handleFork(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

fork-apply

Github webhook fork-apply event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onForkApply(fn) method. Handle events by calling the .handleForkApply(payload) method.

// listen for fork-apply events.
bot.onForkApply(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the fork-apply event.
bot.handleForkApply(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

gist

Github webhook gist event. Find more information about the payload for this event here.

Listen for this event registering a handler the .onGist(fn) method. Handle events by calling the .handleGist(payload) method.

// listen for gist events.
bot.onGist(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the gist event.
bot.handleGist(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

gollum

Github webhook gollum event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onGollum(fn) method. Handle events by calling the .handleGollum(payload) method.

// listen for gollum events.
bot.onGollum(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the gollum event.
bot.handleGollum(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

issue-comment

Github webhook issue-comment event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onIssueComment(fn) method. Handle events by calling the .handleIssueComment(payload) method.

// listen for issue-comment events.
bot.onIssueComment(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the issue-comment event.
bot.handleIssueComment(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

issues

Github webhook issues event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onIssues(fn) method. Handle events by calling the .handleIssues(payload) method.

// listen for issues events.
bot.onIssues(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the issues event.
bot.handleIssues(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

member

Github webhook member event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onMember(fn) method. Handle events by calling the .handleMember(payload) method.

// listen for member events.
bot.onMember(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the member event.
bot.handleMember(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

membership

Github webhook membership event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onMembership(fn) method. Handle events by calling the .handleMembership(payload) method.

// listen for membership events.
bot.onMembership(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the membership event.
bot.handleMembership(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

page-build

Github webhook page-build event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onPageBuild(fn) method. Handle events by calling the .handlePageBuild(payload) method.

// listen for page-build events.
bot.onPageBuild(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the page-build event.
bot.handlePageBuild(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

public

Github webhook public event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onPublic(fn) method. Handle events by calling the .handlePublic(payload) method.

// listen for public events.
bot.onPublic(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the public event.
bot.handlePublic(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

pull-request

Github webhook pull-request event. Find more information about the payload for this event here.

Listen for this event registering a handler with on-puthe .on-pull-request(fn)method. Handle events by calling the.handle-pull-request(payload)` method.

// listen for pull-request events.
bot.onPullRequest(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the pull-request event.
bot.handlePullRequest(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

pull-request-review-comment

Github webhook pull-request-review-comment event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onPullRequestReviewComment(fn) method. Handle events by calling the .handlePullRequestReviewComment(payload) method.

// listen for pull-request-review-comment events.
bot.onPullRequestReviewComment(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the pull-request-review-comment event.
bot.handlePullRequestReviewComment(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

push

Github webhook push event. Find more information about the payload for this event here.

Listen for this event registering a handler the .onPush(fn) method. Handle events by calling the .handlePush(payload) method.

// listen for push events.
bot.onPush(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the push event.
bot.handlePush(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

release

Github webhook release event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onRelease(fn) method. Handle events by calling the .handleRelease(payload) method.

// listen for release events.
bot.onRelease(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the release event.
bot.handleRelease(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

repository

Github webhook repository event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onRepository(fn) method. Handle events by calling the .handleRepository(payload) method.

// listen for repository events.
bot.onRepository(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the repository event.
bot.handleRepository(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

status

Github webhook status event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onStatus(fn) method. Handle events by calling the .handleStatus(payload) method.

// listen for status events.
bot.onStatus(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the status event.
bot.handleStatus(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

team-add

Github webhook team-add event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onTeamAdd(fn) method. Handle events by calling the .handleTeamAdd(payload) method.

// listen for team-add events.
bot.onTeamAdd(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the team-add event.
bot.handleTeamAdd(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

watch

Github webhook watch event. Find more information about the payload for this event here.

Listen for this event registering a handler with the .onWatch(fn) method. Handle events by calling the .handleWatch(payload) method.

// listen for watch events.
bot.onWatch(function(payload, cb) {
  // handle payload
  cb(null, payload);
});

// handle a payload for the watch event.
bot.handleWatch(payload, function(err, results) {
  if (err) return console.log(err);
  console.log(results);
});

Related projects

  • base-bot: Simple bot that knows how to handle events when told too. Use base bot to… more | homepage
  • base-methods: base-methods is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting… more | homepage

Running tests

Install dev dependencies:

$ npm i -d && npm test

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Author

Brian Woodward

License

Copyright © 2015 Brian Woodward Released under the MIT license.


This file was generated by verb on December 23, 2015.