TFS Reporting Recipes #2: Get Daily Values for a Date Range

Monday, October 22, 2012

Purpose One of the most commonly required features in a report is a list of the daily values of some metric over a range of dates (for example, how many open bugs were in the system at the end of the day for each day in the last month).  This query will retrieve these metric values for each day in the date range. Prerequisites TFS 2010 or higher @StartDate parameter – The beginning of the required date range @EndDate parameter – The end of the...
no comments

TFS Reporting Recipes #1: Get the Iteration Path/GUID for the Current Sprint

Wednesday, October 17, 2012

Purpose Many times you want to filter the contents of reports based on sprints or iterations (for example, the number of re-opened bugs in each sprint in the project).  In this case, you often want the default of the report filter to show the iteration path of the current sprint.  This query will retrieve the current sprint’s iteration path. Prerequisites TFS 2010 or higher The Scrum process template A @ProjectGUID  parameter – The GUID of the Team Project in which you’re interested ...
no comments

TFS Reporting Recipes #0: Introduction

Well, it’s been a while since I’ve last blogged and it’s time to get back into the rhythm!  In this series, which I’m calling TFS Reporting Recipes, I’d like to show some tricks, tips and other patterns that help me along when I’m writing reports for customers.  I almost always use the relational warehouse since I feel more comfortable in SQL than in MDX, so for the recipes I assume you’re in the Tfs_Warehouse database. Feel free to sound off in the comments if you have questions/issues that you’d like to see me address. Happy Reporting! ...
no comments

TFS 11 מעט על התצורות החדשות הצפויות לנו עם

Tuesday, February 28, 2012

בתור מי שעוסק בתחום ה-ALM, יצא לי להיתקל לא פעם בלקוח ששואל אותי 'למה אני צריך TFS'? הטיעונים סובבים לרוב סביב שני נושאים: הראשון – העובדה ש-TFS הוא כלי מסחרי שדורש רישוי בעוד שישנם מוצרים מקבילים חינמיים והשני – שהתקנה ותחזוקה של שרת TFS היא יקרה ומורכבת. התשובה שלי מתחילה תמיד ב-'אתה צודק, לגבי שתי הנקודות'. ברגע שהסכמנו שהוא צודק, נפתחת בפניי הדרך להסביר שהשאלה אינה כה פשוטה כמו שהיא נשמעת. ואז יש לי הזדמנות לטעון מספר דברים משל עצמי. ראשית, ההשוואה בין TFS למוצרים חינמיים היא לרוב השוואה שאינה מדוייקת. מוצר חינמי – כמו לדוגמא subversion – שמספק יכולות...
tags: , , ,
no comments

Add Chuck Norris to Your Build!

Thursday, January 12, 2012

In this post I’ll show how to write a somewhat more complex and hopefully fun activity for TFS 2010 Team Build (code is available here).  In particular, I’ll make use of the following features: The ActivityTrackingAttribute class Build Extensions (a specialization of WF4 Workflow Extensions) Since our builds are sometimes long and dull processes, we need some stuff to talk about while they run.  What could be better than discussing the prowess of the one-and-only Chuck Norris?  We’ll have Team Build produce a new Chuck Norris (CN) fact every time a build runs: And now we have a good conversation starter! ...

Writing a Simple TFS Report – Part 4: Publishing the Report

Friday, January 6, 2012

In the last post of this series we completed our report so that it contains all the graphical annotations we wanted.  It is now time to publish it to the server and make it available to our users.  Publishing the Report to the Server Once we have a report running on the local machine, publishing it is the easy part!  1.  Open the report that we worked on throughout the previous parts of the series 2.  From the main ribbon button, choose the Save As menu option.  The Save As Report file dialog...

Writing a Simple TFS Report – Part 2: Creating the Report

Friday, December 23, 2011

Welcome back!  In the last part of this series we discussed the actual query needed to extract the data from the TFS relational data warehouse.  In this post, we’ll see how to use this query in order to create an actual report.    Choosing a Report Authoring Tool In order to actually produce our report we need a report authoring tool.  This tool should allow us to design our report in a WYSIWYG manner and specify the query for getting the data.  We would normally choose from the following options: Business...

Writing A Simple TFS Report – Part 1: Getting the Data

Friday, December 16, 2011

In the last post we saw the final result of what we’re aiming for – the Bug’s Life report.  In this post, we’ll start working on the report by actually extracting the data. The TFS Reporting Data Sources TFS supplies us with two different data sources for reporting needs: The data warehouse – A relational data store that is designed using a snowflake schema and is named Tfs_Warehouse.  By default, this database is updated within 30 minutes of an anything ‘interesting’ happening in TFS.  We query this database using the SQL language. ...
no comments

“IBuildDetail not defined” error in TFS 2010 Build Templates

Monday, December 12, 2011

Recently I started receiving the following error when trying to edit TFS 2010 build templates on my machine: Type ‘IBuildDetail’ is not defined This was exceptionally weird as TFS was running happily for quite a while.  Turns out the culprit was the Developer Preview edition of Visual Studio 11 that I installed alongside the existing VS2010.  Anyway, in order to solve the problem: 1.  Open your build template (the .xaml file) in code mode.  (From the Source Explorer, right-click the file, choose ‘View With…’ and select ‘XML (Text) Editor’. 2.  Locate the first...

Writing A Simple TFS Report– Part 0: Introduction

Friday, December 9, 2011

In this series of blog posts, I will show how to write a simple report that makes use of the integrated business intelligence (BI) capabilities that are available in TFS 2010.  If you’re unfamiliar with how to use this great feature, this series is for you!  This first post will describe the final “product'” we’d like to construct. What We’re Aiming For Our end result for this series is the aptly-named Bug’s Life report: For each specific bug ID, the report shows us the various states that the bug went through, along with the...
no comments