Tips on how to write JIRA Query Language
You'll be able to find almost any data and produce robust metrics with this skill
I didn’t understand how to mine data out of JIRA that was useful to my organization until I learned how to write JQL (JIRA Query Language). I struggled to manage the day-to-day activities with my teams and had to create twice-a-week planning sessions to keep up with the inflow. Additionally, leadership would just request work to be done “NOW!” because they didn’t have a clear picture of what our progress has been historically, and what our impediments were in the present.
What JQL Can Do
JQL opened my world quite a bit to create information radiators that both my development teams and the PMO could use to disseminate where we were on feature development. Below are some examples of dashboards you can put together that are pretty useful.
This example from idalko is similar to my former set up, except the Activity Stream and Assigned to Me sections would show outstanding defects by severity and how many pending issues were hung up in validation. But this exact board pictured above would work for individual developers or dev leads who have many issues to track or sit on more than one team.
Everyone found this gadget most useful at my org because you can instantly see what’s at risk in the sprint, and we were motivated to fix it.
Here is a good example of setting up a dashboard by ticket priority and status. This can work well as a bug/defect dashboard. However, I’d remove the assignee, because I don’t think it adds value, and it could draw the wrong attention from upper management.
How to Learn JQL
You may not become a JIRA superuser overnight, but here is how I picked up writing complex JIRA queries in the matter of weeks.
Learn that JQL is largely based on Boolean search. I like this guide here.
Memorize the correct syntax. This Atlassian guide is a good start.
Start out with simple queries, first. I’d map out in my head what data I’m seeking before writing the query. A good example: I want to see all critical issues by X developer that weren’t closed, regardless of issue type. I took my time and strung together a query that looks like this:
assignee = “Jane Doe” AND status in (Open, In Progress, Pending) and issuetype in (Story, Bug, Task, Sub-Task) AND priority NOT IN (Minor) ORDER BY priority DESC
Save a notepad file with queries that may be useful later on. This even benefitted me when transitioning to new companies.
Create a sandbox, which would be a dummy dashboard and see what data populates from your saved queries. This way you can perfect your dashboard before presenting.
Take this Udemy course. It’s only two hours and will walk you step-by-step on how to write the strongest queries with proper syntax.
BONUS: It’ll Make You More Employable
More than 65,000 companies around the world use JIRA for project tracking. Most project management positions that require JIRA knowledge will need you to understand how to produce simple and complex metrics. You’ll set yourself apart if you become proficient in writing JQL fluently.
What’s Next?
In my next post, I’ll cover how and when you should use each JIRA gadget to curate a dashboard your org will actually use and glean value from.