Zenboard is a straightforward Django application that gives you the ability to create read only ZenHub boards.
Based on proof of concept by @kuuji - kuuji/dashub
Usable at the moment, but very much a work in progress. Expect breaking changes with each release before 1.0
Zenboard aims to provide an easy way to create a filtered and read only views of a Zenhub boards. It's currently used to give customers an overview of their issues that doesn't require double lifting (if you already use ZenHub to track that), allows specifying which issues and comments should be visible based on couple of factors, and can be used without a GitHub account inside the organization.
Caching is builtin and a priority because of the sheer number of requests to both ZenHub and GitHub APIs needed to generate the board view and necessary data. GitHub and ZenHub webhooks are used to refresh the cache, so the data should theoretically always be up to date.
There is a REST API with docs for all important endpoints, courtesy of Django REST Framework.
See TODO.md for current roadmap.
Take a look here if you want to run Zenboard yourself, either locally or in production, and open an issue if you have any questions or problems.
Make sure that provided GitHub API token has access rights to the repository you want to use and can create webhooks, which will be created automatically on board creation.
ZenHub unfortunately doesn't allow automatic webhook creation so you need to
add it manually and point it to - https://<zenboard_url>/webhooks/zenhub/
.
Django Sites framework is used to get the full URLs so make sure that you configured your domain before creating any boards.
Feel free to use, ask, fork, star, report bugs, fix them, suggest enhancements, add functionality and point out any mistakes. Thanks!
Package was tested with the help of pytest
and tox
on Python 3.6 with
Django 1.11 and Django REST Framework 3.7 (see tox.ini
).
Code coverage is available at Coveralls.
To run tests yourself you need to set environment variable with Django secret
key before running tox
inside the repository:
$ pip install tox
$ export SECRET_KEY='...'
$ tox
Developed and maintained by Paweł Adamczak.
Released under Apache License 2.0.