Django-powered GitHub (& Bitbucket) web hooks
Simple continuous integration for Django developers, taking the form of a Django app for managing GitHub (or BitBucket) post receive hooks.
Tested on Python 2.7, 3.4 and 3.5, with Django 1.8 and 1.9.
pip install django-github-hook
Add github_hook to INSTALLED_APPS in your settings.py
./manage.py migrate (or ./manage.py syncdb)
Add e.g. url(r'^hook/', include('github_hook.urls')) to your urls.py urlpatterns
Log into the Django admin console
Configure your hook with the folowing fields:
Name: Hook identifier
User: Repo username
Repo: Repo name
Path: Absolute path to script to execute
Go to your repo’s “Service Hooks” settings on GitHub (or BitBucket) and add a WebHook/POST URL:
The repo information will be read from the JSON payload
Alternatively, you can specify a specific hook by name:
The following snippet show how to connect the webhook to a method using django’s signal mechanism. Note that path must be set to “send-signal” in the hook object instead of an absolute path to a script.
from github_hook.models import hook_signal def processWebhook(sender, **kwargs): for key, value in kwargs.iteritems(): print key, value hook_signal.connect(processWebhook)
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.