Check for other tickets
The absolute first thing you should do before filing a ticket is to make sure that there aren't any other tickets that represent the same problem. Remember to at least search first. If you do find a ticket describing the same problem, feel free to vote it up. Only if the ticket doesn't exist yet should you file your own.
One issue per ticket
It's also important to note that you should only describe one issue per ticket, don't try to combine multiple issues into a single ticket, as the developer will want to track them separately.
The next thing you have to do is figure out what kind of ticket you're filing.
- Defect - this is when you find something wrong in the software you're using that causes an error to appear, acts unexpectedly, or just seems wrong.
- Enhancement - this is when a feature you want is missing from the project that you would like to see.
- Task - this is primarily set by developers themselves, if they need to complete some task.
- Patch - this is for other developers to submit their own fix or feature.
- Other - something that doesn't fall into the other categories.
Next a proper name should be given to the ticket. This will be what most people see, so try to make it descriptive but not too long. It's meant to be a one-line summary.
Don't name your ticket "Enhancements" or "Suggestion" or anything like that, specifically describe what you're referring to.
The level dictates how crucial a bug is. Use your best judgement here and realize that not every little thing is critical.
The description is important.
- When describing defects, go into as much detail as possible on how to reproduce the issue, what occurred, what you expected, any errors you received, etc. If the developers can't reproduce the issue themselves, fixing it is near-impossible, so make it count.
- When describing enhancements, go into as much detail as possible as you can for that. Describe how you want the new enhancement to look, act, feel, etc. The less thinking the developers need to do, the more they can just code.