Skip to main content

Simple server to listen for GitHub repo hooks.

Project description

A picture is worth a thousand words:

http://adi.roiban.ro/media/img/articles/2013/txghserf.jpg

This is just a boilerplate for implementing a GitHub Service Hooks server based on Klein and Twisted.

Implement your on “run.py” and start it like:

twistd -n web --class=run.resource

It will parse incoming hooks and return an ‘Event’ containing hook name, event name and JSON payload.

Configure GitHub Hooks using:

http://host:port/hook/HOOK-NAME

HOOK-NAME is just a random string to track the source of the hook or implement multiple hooks on the same server.

It also include a simple web tool to register hooks or check hook status. Login using GitHub credentials:

http://host:port/

Development

Get virtual environment and install dependencies:

make deps

Run the tests:

make test

Run the server:

make run

TODO

  • Add ssl security check instead of IP filter.

  • Add proper pagination for GitHub API… not it just request 1000 entries.

  • Add configuration and checking of secret

Thanks

This project is standing on the shoulders of giants:

  • Twisted Matrix

  • Klein

  • AngularJS

  • AngujarJS-UI Bootstrap

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

txghserf-0.3.0.tar.gz (18.3 kB view details)

Uploaded Source

File details

Details for the file txghserf-0.3.0.tar.gz.

File metadata

  • Download URL: txghserf-0.3.0.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for txghserf-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7142a9f92469a92d133eee2157af8ddf8fcb31aab157298d9e9289355376aa65
MD5 d14311f3bbc812aa29727b036e066d11
BLAKE2b-256 5bd1c2aa9764d093a2aad17ddf3b191a8714ebcd20364cfe37d5dd879df5db0b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page