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

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.

Related

TFS query for items completed yesterday to use weekdays

I have a query for "items completed yesterday" which is super useful in standups.
But #today - 1 seems to look at calendar days, not weekdays/workdays meaning that my query isn't useable on Mondays. Is there a way to tweak it to work?
Unfortunately we cannot achieve that.
You can Set working days for team's sprint planning and tracking when calculating capacity and sprint burndown, however it's not apply to work item queries.
So, as a workaround you can create another query with Closed Date = #today - 3 specified if you are using the normal working days...(Means the "Yesterday" is Friday)
More information please see Query by date or current iteration.

Crystal Reports - Displaying customer records who have not bought

amazing experts.
I am still very new to Crystal, and only do it on the odd occasion, and seem to be going around in circles with this issue.
I work for a charity, and we would like to pull off a list of all our past donors who have not donated anything on the last 6 months.
I have tables for customer details, linked to another tables which shows their orders. They are linked based on the unique customer ID.
I have added all the customer orders, grouped by customer ID and then sported by OrderDate, and now I get stuck.
In my mind, I need to exclude anyone who has an order date that is less than 6 months old, and to do so I have tried using
{OrderDate} <= DateAdd ("m", -6, CurrentDate).
This however only seems to remove the customer orders that are less than 6 months old, not remove the customer records themselves.
I have tried using it both the "Select Expert" and also to suppress in the "Section Expert", but neither seem to be working to exclude the relevant Customer records.
I am certain there is a super easy way to do this, and I will kick myself when I know how to do it, but right now I have gone round the houses trying to find the solution.
So, if anyone out there has done this before and can help me out, i would greatly appreciate it.
Thank you all for your time!
this might solve your problem.
create a running summary field to count the number of rows return per group. if it is zero under the group section, under suppress , edit formula at put > 0
and run the report.

Filtering issues in next Sprint

I have the following filter to find issues in current Sprint:
resolution is EMPTY AND assignee = currentUser() AND Sprint in openSprints() ORDER BY priority DESC, created ASC
It works as expected. However, our team creates separate "sprint" (in futureSprints()) for stretch goals and I'm unable to query them without picking up the rest of the backlog. However, this stretch goal sprint is always the next one in our list. Moreover, if current sprint is called "Sprint 20-2016", the stretch goals will be called "Sprint 20-2016 Stretch Goals". This means that I can retrieve the stretch goals by grabbing the name of the current sprint. For example, the following hardcoded solution works:
resolution is EMPTY AND assignee = currentUser() AND Sprint in futureSprints() AND Sprint = "Sprint 20" ORDER BY priority DESC, created ASC
Problem is that instead of "Sprint 20" being hardcoded I want something like Sprint = [name of first entry from] openSprints() but don't know how to express this in JQL. Alternatively, since stretch goals are always in the next sprint, something like Sprint in [first entry in] openSprints() + 1 would work as well.
Adaptavist Scriptrunner adds a plethora of extra JQL functions.
One of which is nextSprint
nextSprint("Board Name")
I use it to generate statistics for our next planned 3 week sprint as well as feed a dashboard for users that complete their work early and are looking to pull issues from the next sprint into the current. Generally we pull by stack order, but with as much dynamic work as we have a dashboard gives us a bit more flexibility that a scrum board doesn't offer.
How about:
(sprint in openSprints()) AND (sprint not in futureSprints())
I wish I could find a way to reference the next 'top' of the board Sprint. However, I think if you are using a naming convention, like Stretch Goals', I would put my filter as
Sprint = Stretch Goals and sprint=futureSprint()
I tried using the word Like, but found out that it is not supported and JQL as it is does a 'Like' search. Using the FutureSprint() check you will not get

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.

Jira JQL equivalent to Group By

I'm trying to pull a report, (a pie chart or just a list) on amount of assigned issues in the last month by assignee.
Also is there any way to do an average age report, but per user as well?
The Group By part comes from using the Issue Statistics gadget to summarize a report by a particular field such as Assignee. Most but not all fields appear in the list of fields to summarize by.
~Matt
Not sure if this is what your looking for:
Go in to Issue and query for createdDate >= -30d, this will give all issues created in past 30 days.
next go to views>pie chart>Save to dashboard add filter name
Then you can edit the statistic type to display by assignee.
In addition to Matt's answer, you can also use a 2 dimensional filter statistics, which is more detailed.

Resources