Jira bugs summary per a user story - jira

I'm looking for an idea how to improve visibility of user stories progress in Jira+GreenHopper.
How we work now: we put all our User Stories into Jira, break them down into sub-tasks for development, then our testers link bugs in Jira to appropriate user stories. On our project dashboard we have a filter like "show name, status, completion % where fixVersion = current_sprint order by priority desc".
Our problem: in order to understand if a user story marked as 100% done can really be demonstrated to our customer, we need to make sure if it has no critical bugs and has no more than N low-priority bugs. But now we need to manually go over each user story one by one to calculate such figures.
Question: Any ideas if it's possible to show bugs count of each priority in the list of user stories in current sprint? For simplicity, we would consider like:
High: not resolved bugs of Blocker + Critical priority;
Medium: not resolved bugs of Major + Medium priority;
Low: not resolved bugs of Minor + Trivial priority;
So, such list would look like
US name | US completion % | High-pri bugs # | Med-pri bugs # | Low-pri bugs #
Ideas of the easiest way? anything built on standard Jira gadgets/queries? or any custom plugin you might know to use for that? or even if anything should be developed? Thanks!

Create a new issue type, may be call it "Sub-Bug". This issue type should be available only when user tries to create subtask under a story.
When QA validates a story and finds the issues, ask them to create sub-task under the story and select "Sub-bug" as issue type.
Now you can easily follow that all subtasks (which includes actual subtask and su-bug) are completed before you move story to "Done" status.

You could use a (read only) custom field which stores the number of all linked issues. This custom field can be shown in your search results.
Maybe this is something for you: JIRA Misc Custom Fields
This custom field can be used easily in filters. The issue count can than be displayed in e.g. confluence pages. That confluence page you can show to your customers.

Related

querying tickets with * mark JIRA JQL

i need to extract churning tickets using JQL. Normally churning tickets have a * mark after the ticket number. Is there any way to identify that?
Example for Churning ticket ABC -128 *
The star after the issue means that this issues were added after the sprint started.
You can check this documentation:
Issues added after the sprint starts are indicated with an asterisk.
Not sure if the issue has an attribute like "Sprint date" which identifies the date that the issue added to sprint. For the next ones, you can create a custom field and fill that field with the current date on the issue sprint event. Thus, you can filter it on JQL.
Other than that, there is no way to understand the issue is added to the sprint before/after it starts.
Can you define "churning" and normally Jira doesn't have a * next to issues.
Perhaps there is some app that does this?
You can sort issues by their last modified date if that helps

Jira JQL: how to find the busiest hours of a queue?

Jira Server v7.12.1#712002
We have noticed that at certain periods of the day there are more tickets assigned to "Operations" queue than usual, so we need to back this impression with real statistics.
We extracted all the tickets that at some point were assigned to "Operations" queue via the following query:
project = "Client Services" AND assignee WAS "Operations"
The results of the query above include the timestamp value in the "Updated" field, however this field reflects the last time the ticket was updated - not what we want. We want a timestamp which shows when the ticket arrived to "Operations" queue.
The tickets can arrive in two ways:
1) Ticket may come from other teams. In such cases, under History tab we can observe how 3 different fields change their values. For example, if ticket comes from certain Joe Smith, it would look like this:
FIELD ORIGINAL VALUE NEW VALUE
Joe Smith made changes - 09/04/2020 12:08
Assignee Joe Smith Operations
2) Ticket may be created directly (by other teams). In such cases the first 2 entries under History tab always have this pattern:
Joe Smith created issue - 02/04/2020 19:27
_______________________________________________________________________________________________________
Joe Smith made changes - 02/04/2020 19:27
FIELD ORIGINAL VALUE NEW VALUE
Link Referred from ABC-12345
The pattern above is that created issue and made changes always have the identical timestamps.
Based on these examples, is there some way to extract the timestamps of all tickets' arrival to "Operations" queue? If not with JQL, maybe some other solution/tool exists?
There can be two ways you could achieve most of what you've asked for:
Use Recently Created Chart JIRA gadget.
With this, you could get a clear picture of number of tickets that you'd get in an hour of a day.
Or you could use the Created Vs Resolved built-in JIRA report
This helps in bringing out better information from the tickets, do some analysis etc.
You could find more details from this answer on Atlassian Community forum. Hope this answer helps!

Jira Agile: How to report by Epic, by Story/Parent, by Subtask?

I would like to get a summary report of my sprints and what happened with my tickets. I'd like to see aggregations by epic, then by story, with the leaf level being the subtickets on a story item.
Is there any way to do this? I Can get the particular sprint's information, but that's as far as I've gotten.
project = "ADS Agile" AND assignee = MYNAME AND resolution in (Completed, Fixed, "Cannot Reproduce", Approved, "Won't Fix", Duplicate) AND sprint = 100 AND resolution = Completed ORDER BY summary ASC, key ASC
//edit Example output;
T Key Summary Assignee P Status Resolution Created Updated Due Time Spent Original Estimate
Sub-task AGILE-35
AGILE-30 (New) Decide whether to use existing system.
Anne Normal Closed Completed 01/12/15 01/15/15 2 hours 2 hours
Story AGILE-31
As the PO of ss, I'd like tests for each path.
Anne Normal Closed Completed 01/05/15 01/29/15 1 week, 4 days, 1 minute 4 days, 4 hours
Probably the easiest way to do it would be to run the query you have now and then export it to Excel. You should be able to do the aggregation you want within Excel.
In the list of query results, select the columns you want before exporting to .csv. Easier than eliminating from Excel.
Reorder and organize the columns as you wish before the export as well.
Then save the query so that it appears as you wish.
Jira will never display the stories -under- the epic, which is very frustrating. But displaying the name of the epic link will do the trick.
Realizing that the original poster certainly figured this out a year ago, but thinking that others might have the same question.

JIRA JQL: Issues resolved in the current sprint

I would like to be able to filter for issues that are have been resolved in the current sprint. Generally this would be used to prevent issues resolved in a previous sprint but delayed in testing (not reopened) showing up when we are discussing what developers achieved this sprint.
Closed issues should also appear, but they are not a problem, as if they were closed last sprint, they wouldn't roll over into this one anyway.
In mock-JQL, it would go something like this:
project = "Project name" AND status in (resolved, closed) AND statusChanged() > startOfWeek()
I have seen startofweek() and friends, but not something like startofsprint().
We have JIRA OnDemand, so we can't install local Java add-ons.
Any way to get this information?
One way to create queries on issues that are resolved in latest sprint, is to create a filter for them.
Then you could reuse that filter in different JQLs that all need to work on subsets of that master filter.
Warning This way is little labor intensive -- nevertheless it beats other alternatives, in case you are working with multiple filters.
Create and save filter for "Closed in latest sprint" issues
status changed to (Resolved, Closed) after 2014-09-15
In other JQL-s reuse that filter
// First JQL reusing filter
project = "My Project" and status in (Resolved, Closed) and filter = "Closed in latest sprint"
// another JQL reusing filter
project = "Other Project" and assignee = currentUser() and filter = "Closed in latest sprint"
whenever you start new sprint, remember to update date in "Closed in latest sprint" filter
Indeed, as said previously, this is somewhat manual and time consuming way. But if you are in OnDemand and therefore cannot add your own JQL function that would return start date of latest sprint in defined rapidboard, then you are pretty much out of luck.
You could use the openSprint()-function.
So your query would be :
sprint in openSprints()
If you want to see issues, that are in current ongoing sprint, but haven't been in previous sprints, then you may query them like that
project = "Project Name"
AND sprint in openSprints("Project Name")
AND sprint not in closedSprints("Project Name")
Note I passed argument to closedSprints and openSprints method, this is to make your JQL run faster in larger JIRA instances. You may imagine closedSprints to resolve to a list of sprints from your entire JIRA. In case you have several projects, then sprints would be gathered from hundreds of projects and thus resulting a really long list of sprints (that are mostly irrelevant). However, once you put an argument in that method, you get nice small list of sprints, and matching issues against that is faster.
Additionally you might want to look for issues that have no sprint set
sprint IS EMPTY
But that would be just for catch the ones who work on issues, that are not in any sprint.
Sprint in (openSprints()) AND (resolutiondate > startOfWeek())
The current, rather unsatisfactory, solution is
project = "Project Name" and status changed to (Resolved, Closed) after [YYYY-MM-DD]
where the date needs to be change manually to represent the start of the current sprint.

Query JIRA Story Point HISTORY

We used JIRA on-demand to manage an Agile project. Sometimes a story may be preliminarily sized in story points, but is then re-sized before commitment. I would like a query which shows the history of each story's status and point value.
For example:
Story 99 history:
1/1/2014 -- Status = Open; Points = Null
1/15/2014 -- Status = Reviewed; Points = 5
2/15/2014 -- Status = Committed; Points = 8
My goal (and maybe there is another way to do this) is to see how often we change our story sizes.
Thanks.
I thought I had a solution for you in using the "changed" JQL query (https://confluence.atlassian.com/display/JIRA/Advanced+Searching#AdvancedSearching-WAS), but unfortunately it looks like that is not supported currently in Jira. I received the following error from our hosted Jira instance:
History searches do not support the 'Story Points' field.
So as a user on demand query I don't think it is currently possible.
The only way I see of doing this would be to have a set day/time where you would run a query to get the current story points, export it as an excel file and then do it again after you review a set of stories and write some excel functions to show the change.
The larger question would be around your agile/scrum processes as to why estimated would change so frequently as to need tracking. If the team as a whole decides the points its ok if it doesn't match the reality once we start working on it. Or is this a case where it is updated on more than one occasion before its actually being worked on? If thats the case then I'd say that the story isn't well defined and need more information before it can be estimated?
Adding to Michael's answer, the daily monitoring for a given set of results to a query can be semi-automated using a JIRA filter subscription. You will still need to extract the issues from the results manually but at least in principle you can be sure not to miss any resizing that happens.

Resources