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
INSTALLED_APPSin your settings.py
- Add e.g.
url(r'^hook/', include('github_hook.urls'))to your urls.py
- 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
- 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)