A simple ticketing application written in Python/Django
CSS Python HTML JavaScript
Switch branches/tags
Nothing to show
Latest commit 6394e23 Jan 29, 2017 @suenkler committed on GitHub Merge pull request #1 from gerrit1986/development
add static files collection explicitly, improve coding style due to flake8, improve readability
Permalink
Failed to load latest commit information.
main enhance readability beyond flake8 Jan 22, 2017
screenshots Import Aug 29, 2015
static Import Aug 29, 2015
tickets improve coding style due to flake8 Jan 22, 2017
.gitignore improve coding style due to flake8 Jan 22, 2017
LICENSE Import Aug 29, 2015
README.md fix merge conflict Jan 22, 2017
manage.py Import Aug 29, 2015
requirements.txt Import Aug 29, 2015

README.md

A simple ticketing application

django-tickets is a simple MIT-licensed ticketing application written in Python/Django. Some of the features are:

  • creation of new tickets via web interface or via email
  • followups on tickets
  • file attachments for tickets
  • assign tickets to users
  • email notifications for new assignments, followups and closed tickets

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.

What does it look like?

django-tickets uses a simple Bootstrap template. Nothing fancy.

Landing Page My tickets

Installation

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 dir in production
export DJANGO_STATIC_ROOT="static_root/"
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