Repo
Summary
This plugin adds a ticketing system to Discourse. It requires tagging to be enabled and works best alongside the Assign Plugin.
It is based on @tobiaseigenās original spec, and has been built in collaboration with @tobiaseigen and an awesome Ruby for Good team, for the benefit of both Namati and the Discourse community.
Notes
-
When you install the plugin, three new tag groups are added
tickets_priority
,tickets_reason
andtickets_status
. Add tags to these groups (at/tag_groups
) to add tickets to each ticket type. -
Tickets are added in the āedit topicā UI (see screenshot below).
-
You can create topics or PMs with tickets via the api using
is_ticket
and atags[]
for each ticket tag (learn more) -
There are four site settings you need to look at. To access quickly, go to ADMIN > SETTINGS on your instance and search for
tickets
.-
tickets enabled
: Enable tickets on topics (requires tagging to be enabled). -
tickets icon
: set the font-awesome class of the tickets icon -
tickets include group
: default group to include on private messages with tickets (on Global Legal Empowerment Network forum this is ahelpdesk
group). -
tickets redirect assigned
: redirects the user from the āassigned topicsā route in their profile to Tickets dashboard filtered by tickets assigned to them. -
allow staff to tag pms
needs to be enabled if you wish to use tickets on PMs.
-
Tickets Dashboard
Topic
Hit the pencil icon near the title to edit the Topic meta, which appear like so:
Topic List
Tasks list
This list pulls together bug reports and feature requests that have come up in this discussion below and in the active usage of this plugin by @tobiaseigen and colleagues on the Global Legal Empowerment Network. @angus has agreed to schedule some time regularly to try to chip away at this list via https://discourse.angusmcleod.com.au/c/work/l/agenda, but can always use help!
Bugs:
- Hijacked link to a userās assigned tickets appears to not work for usernames that have mixed case.
- Ticket tags showing up in print view, also for those without access to ticket system
Features weād like to add:
- Add ability to indicate the user (or users) a ticket is about.
- Add columns on tickets dashboard for date ticket was created and date created, date of last activity.
- Hijack search on tickets dashboard to allow searching for tickets by keyword
- Revamp tickets dashboard filtering/sorting/pagination
- Add to tickets dashboard default filters and options to quickly see only tickets assigned to me or only open tickets
- Add ability to monitor overall health of ticket system (time to resolution, open tickets, etc)
- (low priority) Add āSettingsā button in /admin/plugins (details)
- (low priority) Allow ticket system and ticket tag groups to be renamed (requested by @GeertClaes)
Requested features that are low priority/hard/likely not to be added:
- add TICKET options to topic menu at bottom as well as topic title edit.
- notify user of number of open tickets assigned to user every time they log in
- automated system messages are always tickets marked low, waiting
- ticket PMs are sent to group messages archive by default so they donāt clutter group messages inbox
- typically when we create a ticket, we set the status tag to
#waiting
. If there were some way to change this status to#underway
when someone replies, that would be a big helpā¦ if not, we can rely on the ticket dashboard if it shows activity so we know someone has replied and we need to take action. - for sake of transparency, would be interesting to indicate in a whisper when ticket tags are added or changed, following the example of the assign behavior.
- on the flag interface itās possible for moderators to āclaimā spam posts. Maybe this is a model we can follow for tickets? This would speed things up - right now the flow is to unassign then assign.
Other discourse functionality that would help
- bulk select and update ticket priority, status, reason, group, assignee (if not on the UI, then command line queries?)