I'm seeing a lot of oddities with time tracking in YouTrack. Here are a few examples:
- Yesterday, I created a new issue and then did a search with 'updated: today' as the query. The new issue did not come up. I modified the query to 'updated: today OR created: today' and the new issue came up. Doing the same exercise today, the 'updated:' clause alone does the trick.
- Similarly, I've seen searches with nothing but an 'updated:' clause fail to find issues that include work items on the indicated date (as shown on the History tab) - some of which even include issue comments added with the work item.
- On the Reports tab, the second date is unpredictable. Specifically, it's sometimes included in the result set, and sometimes not, and whether it is seems to vary across tasks. For example, if I run a report with the date fields set to 10/1 and 10/31, task A with work recorded on 10/31 is not included while task B with work recorded on 10/31 is included.
- Adding work items with 'today' adds them with yesterday's date.
A lot of this smells like time zone issues to me. However, the server tz, the YT tz, and my user tz are all set to MST. If tz is playing into it, then YT is sometimes using something other than what's set without telling me, in which case it would be great if it actually showed what tz is being used in those cases where it differs the settings (double so since many timestamps in YT only reveal the date portion but actually include the time portion, and that time portion can throw things off).
Note that it doesn't appear I'm the only one getting confused. Here are some issues I found in a couple minutes of poking around:JT-21775
Time report result missing an entry - date range issue.JT-17878
Dates selection works wrongJT-18887
Reporting time with command fails to properly assign "Today" dateJT-13177
Search command value of today
Another thing that would help is better documentation in this area. For example, I can't even find a mention of the time reports feature in the docs, yet alone such details as how the date range functions. It's entirely possible (and not even unlikely) that I'm simply Doing It Wrong. However, I don't know what the Right Way is. I've watched the video that introduces time tracking, but it didn't help me much, unfortunately.
With all that in mind, I've been playing around with the web service. My goal is to create a time report that's usable by the business folks (includes some of our custom fields and has dates in a spreadsheet-friendly format) while also being more consistent in the data that are included. This is going well, except for one problem: There's no way to search for tasks by work item dates. I hoped that using an 'updated:' search would do the job, but that doesn't work (as mentioned above). I could just grab everything, but since I have to loop through all the returned issues, fetching and looping through each one's work items, I expect this will quickly grow tediously slow as our database of issues grows.
So, any suggestions as to a good search query to use to find all tasks that have had work items added within a period of time?