We're using TFS for our daily team stand ups which are more task driven vs development iterations. We'd like to be able to track how many times a target date changed & in what areas that's happening the most to see if we can pinpoint bottlnecks. I'm having a heck of a time figuring out a query that will give me these results. I tried querying "History Contains Words changed target date" (based off the image you'll see in the link below) but got no results. When I just say "history contains words date", it only gives me results where someone said the word "date" in a discussion field.
Any ideas?
Screenshot of History Item
It's an expected behavior. Comments entered into the Discussion area are queryable. Change history entries, such as which fields were changed, aren't queryable.
Check the following link for more information:
https://learn.microsoft.com/en-us/vsts/boards/queries/history-and-auditing?view=vsts&tabs=browser
Related
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.
I need to produce a report, similar to the Unplanned Work report included with the MS Agile Process Template, but which lists me all work items which were added to an iteration after a given date.
The work item may have already been created before that date, so I can't used the created date.
Can anyone give any guidance on how I can go about this? If I can achieve it in Excel then that would be perfect...
Thanks.
Ok, took some work. Interesting enough though to put some effort in it ...
First screenshot is a Pivot table connected to the Analysis Cube. The most left colum shows the ID of a workitem. The second column shows the ChangeDate. In the row header I have included every iteration that I am interested in. What you see happening in the Excel sheet is items moving from one sprint to the other. For example, workitem 27 was created for iteration 1 at 14-3-2011. On 13-4-2011 it was moved to iteration 2. On 12-5-2011 it was moved to iteration 3. etc.
If I narrow down the filter to a specific iteration I actually see items entering the iteration and leaving the iteration. If I also change the ChangeDate filter, I can focus on items entering after a specific date, as you requested. Again, you can see item 27 enter iteration 2 at 13-4 and leave at 12-5. You can juggle around with the columns to get the view you want.
Finally, the options I used to get this view from TFS.
Hope this exceeds your expectations :-)
I have a particular saved filter that shows me all cases in a specific project and area that are active and assigned to humans (by excluding some users that don't correspond to real people but are instead used for unrelated project management operations.
It looks something like:
"All open cases in PROJECT that are active containing -assignedto:"Non-Human User 1" -assignedto:"Non-Human User 2"
I would like to amend this filter to show me the subset of these cases that have had no edits of any kind in the last two weeks. I have tried adding various flavors of the edited axis using relative time ranges as I've seen examples of in the FogBugz documentation, but I get unexpected results every time. In particular, -edited:"-2w.." or even the simpler -edited:"yesterday" shows me results where the Last Updated column says, maddeningly, "DD/MM/YYYY (Yesterday)."
(This is with FB 8, for what it's worth).
I was able to get this to work reasonably close to what I expected by adding a search axis term for edited:"..-2w" (where -2w means "two weeks ago" and could of course be changed to whatever window of time was relevant). What tripped me up is that I was trying to exclude things edited between two weeks ago and now using -edited and that didn't quite do what I expected.
Instead, my final query looks like it is grabbing things edited from the dawn of time until two weeks ago (further restricted by additional filters of course).
I'm trying to find all WorkItems that were assigned to a person X in the last 30 days.
The big problem I have is the "in the last 30 days"-part.
I thought about using the "ever" or "asof" keywords, but couldn't find a good answer yet.. something like WHERE [Assigned To] = 'X' AND (([Assigned To] != 'X') asof '<30daysago>').
But this is still not a bulletproof solution.
Any better ideas?
Thanks & kind regards
Simon
It appears that this is not possible using just WIQL, but you can get close.
The keyword #Today will give you today's date, then just subtract your range from it. The EVER keyword applied to [Status]='AssignedTo' and a comparison against a date 30 days in the past to [StateChangeDate] is what you'll need to accomplish this.
As close as you can get with WIQL and existing fields:
This says, from all revisions (status changes) return records where the user 'X' has ever been AssignedTo and the State has changed in the last 30 days. This will basically give you a slightly fuzzy picture of what your User has been working on in the last month.
WHERE [Microsoft.VSTS.Common.StateChangeDate] >= #today - 30
AND [System.AssignedTo] EVER 'Bennett Aaron'
ORDER BY [System.State]
Add the missing field:
You could add a custom field called AssignedDate that is captured during the New->AssignedTo workflow transition that you create in the Work Item Definition XML. You can accomplish this using the Team Foundation Server Power Tools extension to Visual Studio. This would give you exactly what you need as well as additional reporting options going forward.
TFS API
I cannot help you with this one, but I believe you could query using the TFS API.
A couple of quick gotchas I've experienced to save you time on ASOF and EVER:
AsOf won't help you by itself with this as it does not support a range of dates. It allows you to query as if it were another date. In other words, if you forgot to capture the results of a query yesterday, you can use an AsOf query to get the results that you would have gotten had it run yesterday. What I understand is that you want to query a basic date range.
EVER might not work as you expect against dates as I believe it uses the exact value of the field (timestamp portion of the date field would be included) it tests with. Just make sure the EVER keyword is used against the status field rather than a date.
I am trying to figure out the way to pull all the items that were on my plate between certain dates. Is this possible? Could you please help me to figure out how to write a query for that? Thanks.
The best that I know how to do is to set 'Assigned To' Was Ever #Me, then manually scan the list of work items returned (setting other fields as necessary to filter the results). In the UI, at least, there isn't a way to query on historical data.
You can do this via query window as well, below is my query that i use to see what have i been working on in the past two sprints.
This will give you any tickets you worked on regardless of who they are currently assigned to (system test / uat or whatever).
You can add more clauses and have Changed Date > xxx AND ChangedDate < xxx to find what you are looking for in any given dates.