How do I create a useful support ticket?

Creating an Appropriate Ticket

If you have a Drupal support contract with Code Enigma, be it the developer, starter or business plans, you can ask us any question about Drupal through our secure ticketing system, Redmine, or via your dedicated support dashboard. The problem could be anything Drupal related (a custom block isn’t displaying, your site’s search feature has stopped working, you need help adding a user, etc).
 
Providing we manage your server, either through our Server Management, Managed Server or  SLA-backed Server packages,  you may also raise a ticket for system administrative issues too, such as asking for Apache Solr to be installed on your server, Nginx configuration changes for your site (basically anything to do with your server). These sort of tasks will come under the support provided by the three packages listed above and not through Drupal support.

Subjects

So, now you’ve been given some information on what sort of things you can raise tickets for in Redmine, it’s time to discuss how to title your ticket. The purpose of the subject is to inform us of what the problem is. If, for example, you have a module that gives users points based on their activity on the site forum and if they log in each day, which returns incorrect results or a fatal error, you would raise a ticket with something like this in the subject field: Custom user points module returns a fatal error.
 
This is a descriptive enough subject for the support staff to immediately grasp a basic understanding of what the issue is. Reporting the issue with the subject of Bug or Fatal Error! are examples of poor subject names as they are not very descriptive.

Descriptions

This part of the ticket is where you should include every last little detail you can about the issue at hand. Feel free to include screenshots of errors and error log entries, as this will help the support team to understand what to look out for when attempting to replicate the issue.
 
You should definitely include any URLs where the errors are occurring, or explain in as much detail as possible what you were doing at the time of receiving the errors.
 
Detail the steps you’ve taken to try and solve the issue, as this will prevent the support team wasting time repeating the same steps you have with the same results. You should definitely include the steps to reproduce the issue, as this will help the support team immensely when it comes to debugging it.

Assigning the Ticket

Upon creating the ticket an email notification will be sent to the support team that a new ticket has been created. We recommend, in most cases, tickets are left unassigned so they can be allocated to the next available member of the team.
 
You may add Watchers to a ticket by checking the relevant boxes. Each watcher you select will receive an email notification that they have been added as a watcher to a ticket. It is not advised to select everyone as a watcher, as there will be some members of staff who do not have a knowledge of your project.
 
If you consider the issue to be of an urgent nature, then it is advised to add a number of watchers to the issue, so they are informed of the creation of the ticket. However, an issue you may consider as urgent may not fall under our ‘Urgent’ category. All Drupal related tickets will be responded to within 24 hours. If you do not have an SLA-backed server package, the priority parameters will have been pre-arranged with you along with their respective response times (more on that in the next section). Tickets that fall under this SLA are server-based issues.

Setting the Priority

Redmine provides four priorities to choose from: Low, Normal, High and Urgent. If you do not have an SLA-backed server, the priority of the ticket is generally used to judge only the order in which the tickets should be looked at. For example, if you have three normal priority tickets, two high priority tickets and one low priority ticket, the two high priority tickets will be looked at first, then, providing there is remaining support time, the normal priority tickets will be looked at. If there is support time remaining after all other tickets have been looked at, low priority tickets will be looked at and dealt with.
 
If you do have an SLA-backed server, the priority must be set based on the pre-arranged parameters. So, for example, a normal priority ticket would include a minor problem, preventing a system administrator from using the server fully, such as a problem with a service that does not affect the customer experience, requesting a new user be added to the server, etc. The first response will be made within the pre-arranged times, depending on the priority. So, for example, if your site is down or timeout messages are being received, this would be classed as an Urgent issue and the first response would be within an hour.

Bad Examples

We've received, in the past, countless tickets with the subject of "Bug", "Urgent ticket" or "Help!". But at the same time, we've also received numerous tickets where the subject is not far off an actual description. These tickets, we found, then don’t have much of a description. 
 
Descriptions that do not contain enough information, such as providing URLs where errors were found or not providing the steps necessary to reproduce the error(s) are just two bad examples of a ticket description.
 
As a result of such tickets, it took extra time to ask the customer for more information about the issue before we were able to debug it and resolve it.

Text Formatting

If you didn’t know already, you can format the text in the description field. You can make text bold, underlined, italised, create ordered and unordered lists, headings and tables, amongst many other things. You can use this guide to help you with text formatting in Redmine.