Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sheppard/django-github-hook
Configurable post-receive webhook handler, implemented as a Django app
https://github.com/sheppard/django-github-hook
Last synced: about 1 month ago
JSON representation
Configurable post-receive webhook handler, implemented as a Django app
- Host: GitHub
- URL: https://github.com/sheppard/django-github-hook
- Owner: sheppard
- License: mit
- Created: 2013-08-22T20:42:09.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2017-03-29T15:05:16.000Z (over 7 years ago)
- Last Synced: 2024-11-05T05:19:38.542Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 28.3 KB
- Stars: 31
- Watchers: 1
- Forks: 11
- Open Issues: 4
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- starred-awesome - django-github-hook - Configurable post-receive webhook handler, implemented as a Django app (Python)
README
github\_hook
============Simple continuous integration for Django developers, taking the form of
a Django app for managing GitHub (or BitBucket) post receive hooks... image:: https://img.shields.io/travis/sheppard/django-github-hook.svg
:target: https://travis-ci.org/sheppard/django-github-hook
.. image:: https://img.shields.io/pypi/v/django-github-hook.svg
:target: https://pypi.python.org/pypi/django-github-hookTested on Python 2.7, 3.4 and 3.5, with Django 1.8 and 1.9.
Usage
------ ``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:- http[s]://[yourwebsite]/hook
- The repo information will be read from the JSON payload- Alternatively, you can specify a specific hook by name:
- http[s]://[yourwebsite]/hook/name
Examples
--------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... code-block:: python
from github_hook.models import hook_signal
def processWebhook(sender, **kwargs):
for key, value in kwargs.iteritems():
print key, value
hook_signal.connect(processWebhook)