A simple ticketing application written in Python/Django
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Hendrik Sünkler 3e8346372f Import 10 years ago
main Import 10 years ago
screenshots Import 10 years ago
static Import 10 years ago
tickets Import 10 years ago
.gitignore Import 10 years ago
LICENSE Import 10 years ago
README.md Import 10 years ago
manage.py Import 10 years ago
requirements.txt Import 10 years ago

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"

# static and media files dir 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 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