Skip to main content

Django views and forms that submit tickets to Zendesk

Project description

An extensible library to add Django views with forms to submit tickets to Zendesk.

Usage

Add these to your settings.py:

ZENDESK_BASE_URL = 'https://example.zendesk.com'
ZENDESK_API_USERNAME = ...
ZENDESK_API_TOKEN = ...
ZENDESK_REQUESTER_ID = ...
ZENDESK_GROUP_ID = ...

Add an entry to your urls.py

from zendesk_tickets.views import TicketView

path(r'submit-ticket/$', TicketView.as_view(
    success_url='/',
    template_name='app_name/submit-ticket-page.html',
    ticket_subject='Website Feedback',
    ticket_tags=['website', 'feedback']
    ticket_template_name='app_name/feedback-ticket.txt',
), name='submit_ticket'),

If you wish to include additional fields, subclass BaseTicketForm and add them. If you wish to include them in the body of the ticket, create a new ticket template and pass it as the ticket_template_name. If you wish to include them as custom fields, define the following in your settings.py:

ZENDESK_CUSTOM_FIELDS = {
    'referer': 31,  # zendesk field id
    'username': 32,
    'user_agent': 33,
}

The three fields in the example above are included in TicketForm by default and can be included in your ticket by referencing them in the ticket template or specifying custom field ids in settings.

Development

https://github.com/ministryofjustice/django-zendesk-tickets/actions/workflows/test.yml/badge.svg?branch=main https://github.com/ministryofjustice/django-zendesk-tickets/actions/workflows/lint.yml/badge.svg?branch=main

Please report bugs and open pull requests on GitHub.

To work on changes to this library, it’s recommended to install it in editable mode into a virtual environment, i.e. pip install --editable .

Use python -m tests to run all tests locally. Alternatively, you can use tox if you have multiple python versions.

Update translation files using python scripts/messages.py update, when any localisable strings change. Compile them using python scripts/messages.py compile; this is required before testing and distribution. Updating and compiling translation files requires the gettext system package to be installed.

[Only for GitHub team members] Distribute a new version to PyPI by:

  • updating the VERSION tuple in zendesk_tickets/__init__.py

  • adding a note to the History

  • publishing a release on GitHub which triggers an upload to PyPI; alternatively, run python scripts/messages.py compile; python -m build; twine upload dist/* locally

History

0.19

Add experimental support for Django 5.2 & Python 3.13.

0.18

Add experimental support for Django versions 5.0 & 5.1.

0.17

Migrated test, build and release processes away from deprecated setuptools commands. Translation files are updated and compiled through scripts which are not included in distribution. No significant library changes.

0.16

Drop support for python 3.6 and 3.7. Add support for python 3.11. Add experimental support for Django versions 4.0 & 4.1. Improve testing and linting.

0.15

Add support for python 3.9 and 3.10. Improve testing and linting.

0.14

Drop support for python 3.5. Improve linting.

0.13

Drop python 2 support (now compatible with 3.5 - 3.8). Support Django 2.2 - 3.2 (both LTS).

0.12

Improve testing and linting.

0.11

Support Django 1.10 - 2.0. Add class-based Django views. Add internationalisation support.

0.10

Fix display of tickets in Zendesk.

0.9

Don’t allow self-referential return-to URL.

0.8

Accept extra template context in views.

0.7

Use email address of logged-in user when available.

0.6

Collect email address of form submitter, optionally.

0.5

Fix bugs.

0.4

Provide a safe “return back to where you came from” link.

0.3

Add success view.

0.2

Fix bugs.

0.1

Original release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_zendesk_tickets-0.19.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

django_zendesk_tickets-0.19-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file django_zendesk_tickets-0.19.tar.gz.

File metadata

  • Download URL: django_zendesk_tickets-0.19.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for django_zendesk_tickets-0.19.tar.gz
Algorithm Hash digest
SHA256 c5b08e3492376b4fe3f7c08e2f86e7e58721fa70fedd0b33c8a77a2f06ead721
MD5 af6f04719c9adafda52eb207154532de
BLAKE2b-256 0a4ffd12b87f65afea3080164daeb481ec8e218aa9c3328e79aa6f48901f0dba

See more details on using hashes here.

File details

Details for the file django_zendesk_tickets-0.19-py3-none-any.whl.

File metadata

File hashes

Hashes for django_zendesk_tickets-0.19-py3-none-any.whl
Algorithm Hash digest
SHA256 1e1b7e114b247bf445b6b34f636155ef121777735a7a01b04fc94995406fafa8
MD5 00fb1a09aa54420bf7adea41f6a498a3
BLAKE2b-256 7ddd6d846ec4c185bb527f7d78b98580a8252ebfb063399872a3cfd85198fe74

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page