Congrats mates! At this point you’ve mastered the basics of JQL in lesson 1 and lesson 2. This will enable you to have better insight across your projects for more agility in managing your future direction. Now that you have this data the next natural question comes of what to do with it. JIRA offers a number of great entry points to help you make great use of the key metrics across your project.
Filters: Saving your search
Development and program managers have to focus their teams to rally around a set of issues to be resolved in a product. It’s important to have a shared source of truth across the team that represents the work needing to be done between now and the next milestone. When I find a set of issues to focus my team on, I always ensure that everyone has access to the same data that I do. Filters are an excellent way to do that. Let’s create a filter using JQL. Once you run your query click the save as button just above the search box. Choose a name that very tightly defines your query. I usually use names that include a reference to the project, status, or target audience of my query. Once your query is saved, you’ll see a few new controls.
Click on the information icon. You will then see two important features: sharing controls (permissions) and subscriptions.
Permissions allow others to see (or not see) your filters in JIRA. If you are running a development or project team and have some queries you use to drive your project, set permissions so your team can see them. That way the team has same view of the project you do. The star icon allows you to mark a filter as a favorite. Favorites show up in the issues menu and on the left hand side of the issue navigator screen for easy access. There are some neat JQL tricks for filters as well I’ll discuss in the next lesson, so stay tuned. Pro Tip: If you click your username > profile in the upper right of the screen, you can set filters and dashboards to be shared by default.
Links and Shares: Lightweight and Flexible
Once you have executed a JQL statement in JIRA, you have two options for sharing it with your team: links or shares.
You’ll see the sharing options in the upper right of the issue navigator. To load the issue navigator use the issues menu > search for issues or use the keyboard shortcut g i. To have a permanent URL you can click the link icon to the left of share that is easily used in email or another application. Sharing however, wraps the operation into one easy step. Click share, and then add the user or group to mail. Sharing is a temporal action. It doesn’t save the search for you or your recipients. Also don’t use this method for recurring queries. JIRA has much better facilities for that.
Subscriptions: Ensure you meet your SLA
Service level agreements are most closely associated with on call teams. The reality is though, we all have SLAs to our teams or customers. Development teams have targets to fix issues that customers or the test teams uncover. IT organizations need to respond to support requests in a timely manner. JIRA subscriptions keep you abreast of those critical issues when they arise. What is a subscription? JIRA can run a query on a scheduled basis and email the result to you or a group of people. If no issues meet that query, JIRA will not send email. Subscriptions can be configured on a flexible basis.
I’ve personally found subscriptions useful in two cases: critical issues and keeping pace on overall stats. When a team member files a critical issue, I use a subscription every 15 minutes to ensure I meet my SLA and assign those issues out to the team. I also run a daily subscription to keep track of new issues that came in that day. If you use filters in your email, JIRA prefixes subscription email with “[JIRA] Subscription” so you can route subscription email to a different place than standard JIRA email.
Dashboards & Wallboards: Getting the word out
Great metrics from JQL can help drive your organization when combined with other features of JIRA. Dashboards and Wallboards are information radiators out to your teams about the state and health of the project. Information radiators should always be a call to action for the audience. There are some great posts on here on the blog for how to great great experiences for you and your team.
- 5 Steps to Build a Killer Dashboard: the information you need, when you need it
- Managers, meet your new favorite gadget
- Implement Role-Based JIRA Dashboards to Keep a Process Flowing
Developers: Time to REST!
JIRA 5 shipped with an all new stable RESTful API to access issues from JIRA. We’ve all been in the situation where we needed to pull out data from our issue tracker but didn’t have the facility to do so. We were then relegated to SQL queries at a minimum that looked like this:
[cc lang=’sql’ line_numbers=’false’]
SELECT distinct pkey
WHERE workflow_id IN (SELECT entry_id FROM os_historystep WHERE action_id=
<transition_id> AND finish_date > ‘<start_date>’ AND finish_date < ‘<end_date>’)
JQL is great as it’s an easy interface to query JIRA. SQL queries are hard. They include:
- Getting direct access to the database (if IT will allow it).
- Locating an ER diagram or other documentation about the database
- Learning a new database schema
- Lots of joins to bring in needed tables
- Testing to see the SQL result is congruent with the JQL result
With REST you can use the same JQL query in the UI as you do in REST. The REST endpoint for search returns structured JSON data that’s easy to process and manipulate. I’m going to do some focused tutorials on this topic soon, but wanted to give a quick starter for those who have not used it before. You can run this command in the terminal on the Macintosh or Linux workstation. Windows users will need to get curl. If we wanted to pull all of the duplicate issues from the ANERDS project we could simply call the search REST endpoint.
The query will return JSON which you can then process in your client application. Again, more on this in a future post.
At this point you should be feeling pretty good about querying JIRA to pull issues with JQL and using those results. We’ve got one more session to go. In our last session we will be exploring the Marketplace to see what extensions are available for JQL.
Stay tuned in the next few weeks to learn more tips and tricks about JIRA. Want to learn even more? Sign up for the JIRA Insiders Email.