django-tickets
is a simple MIT-licensed ticketing application written in Python/Django. Some of the features are:
The application was written to serve my special needs. It is not intended to grow up to a kitchen sink. But I will add some features in the future. Feel free to use and modify it, if it is interesting for you.
django-tickets
uses a simple Bootstrap template. Nothing fancy.
Sensitive and installation dependent information is expected in environment variables. You can use a bash script like this one:
#!/usr/bin/env bash
export DJANGO_SECRET_KEY="xxx"
export DJANGO_PRODUCTION_DOMAIN="xxx"
# log file
export DJANGO_LOG_FILE="xxx"
# static and media files directories in production
export DJANGO_STATIC_ROOT="xxx"
export DJANGO_MEDIA_ROOT="xxx"
# User who gets django's email notifications (ADMINS/MANAGERS), see settings.py
export DJANGO_ADMIN_NAME="xxx"
export DJANGO_ADMIN_EMAIL="xxx"
# Django email configuration
export DJANGO_EMAIL_HOST="xxx"
export DJANGO_EMAIL_HOST_USER="xxx"
export DJANGO_EMAIL_HOST_PASSWORD="xxx"
# ticket email inbox, see 'main/management/commands/get_email.py'
export DJANGO_TICKET_INBOX_SERVER="xxx"
export DJANGO_TICKET_INBOX_USER="xxx"
export DJANGO_TICKET_INBOX_PASSWORD="xxx"
# email notifications to admin, see 'main/management/commands/get_email.py'
export DJANGO_TICKET_EMAIL_NOTIFICATIONS_FROM="xxx"
export DJANGO_TICKET_EMAIL_NOTIFICATIONS_TO="xxx"
Please note that django-tickets
is not packaged as a reusable django app; it’s a complete django project. So just clone the repository and install the dependencies via pip and the application including user authentication is ready to go.
$ git clone https://github.com/suenkler/django-tickets.git
$ cd django-tickets
$ pip install -r requirements.txt
$ source env.sh
$ ./manage.py migrate
$ ./manage.py collectstatic
$ ./manage.py createsuperuser
$ ./manage.py runserver
To check the IMAP account for new messages and create tickets out of these messages, use the management command get_email
:
$ ./manage.py get_email