0.0.2 • Published 6 years ago

gh-listener v0.0.2

Weekly downloads
12
License
-
Repository
github
Last release
6 years ago

Github Webhooks Listener

This is a client library for listening (receiving) to GitHub Webhooks and execute a callback on them.

Note: This client library based on the excellent Node Github Hook library.

To Install:

npm install gh-listener

To Use:

import GHClient from "gh-listener";

const github = new GHClient({
  /* options: see below */
});

github.onPush((data) => {
  console.log(data.commits.map(x => x.author)); // prints the authors of the commits
});

Methods and events

The library has the following methods and supports their respective events:

MethodEventGitHub Reference
github.onCommitComment(cb)commit_commentReference
github.onCreate(cb)createReference
github.onDelete(cb)deleteReference
github.onDeployment(cb)deploymentReference
github.onDeploymentStatus(cb)deployment_statusReference
github.onFork(cb)forkReference
github.onGollum(cb)gollumReference
github.onInstallation(cb)installationReference
github.onInstallationRepository(cb)installation_repositoryReference
github.onIssueComment(cb)issue_commentReference
github.onIssue(cb)issueReference
github.onLabel(cb)labelReference
github.onMembership(cb)membershipReference
github.onMilestone(cb)milestoneReference
github.onOrganization(cb)organizationReference
github.onOrganizationBlock(cb)organizationBlockReference
github.onPageBuild(cb)page_buildReference
github.onPullRequest(cb)pull_requestReference
github.onPullRequestReview(cb)pull_request_reviewReference
github.onPullRequestReviewComment(cb)pull_request_review_commentReference
github.onPush(cb)pushReference
github.onRelease(cb)releaseReference
github.onRepository(cb)repositoryReference
github.onStatus(cb)statusReference
github.onWatch(cb)watchReference

Options

Available options are:

  • host: the host to listen on, defaults to '0.0.0.0'
  • port: the port to listen on, defaults to 3420
  • path: the path for the GitHub callback, defaults to '/github/callback'
  • wildcard: if true, the path for the GitHub callback will be considered valid as long as it starts with the configured path
  • secret: if specified, you must use the same secret in your webhook configuration in GitHub. if a secret is specified, but one is not configured in GitHub, the hook will fail. if a secret is not specified, but one is configured in GitHub, the signature will not be validated and will be assumed to be correct. consider yourself warned. this option can also be a function that takes the following parameters: (request, data, callback). callback is error first and should be passed (err, secret)
  • logger: an optional instance of a logger that supports the "log" and "error" methods and one parameter for data (like console), default is console.
  • https: Options to pass to nodejs https server. If specified, you must follow documentation about nodejs https library (See options in https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener)
  • trustProxy: By default the x-forwarded-for header is trusted when determining the remoteAddress to log for a request. Set this to false to disable this behavior
  • enableHealthcheck: Respond to GET requests with a 204 response for healthcheck purposes
  • healthcheckCode: Override the 204 status code for healthchecks (for systems that aren't friendly with HTTP spec compliance and want a 200, for example)
new GHClient({
	enableHealthcheck: false,
	healthcheckCode: 200,
	host: '0.0.0.0',
	https: {
		ciphers: 'something'
	},
	path: 'listen',
	port: 3000,
	secret: 'mysecretkey',
	trustProxy: true,
	wildcard: true
});

License

MIT

0.0.2

6 years ago

0.0.1

6 years ago