When upgrading TFS to a new version, one set of items that are not upgraded are the already deployed reports for existing projects. The existing reports will continue to work but we’ve made a large number of performance enhancements and other minor tweaks, especially on the “X” Overview reports (in each project there are a couple of rollup reports that are specific to the template but which all work the same way).
The TFS Reporting Bulk Update tool is now available on Codeplex. Currently the Team Foundation Power Tools (tfpt.exe) has an addprojectreports command which will create a reporting site for an existing project and upload the report files for that process template (or reload the existing reports in case they were overridden). But what about when you have to that for tens or hundreds of projects? That’s where the TFS Reporting Bulk Update tool comes in handy.
In order to use this tool the following must be true:
- You have at least the TFS 2013 Team Foundation Power Tools installed
- Your server has been upgraded to at least TFS 2013 Cumulative Update 3
- This is the version in which the updated reports were released in
After running this script and executing the generated batch file, all projects created in TFS 2012 through TFS 2013 Cumulative Update 2 will have their report rdl files upgraded to the newer version of the reports.
To get the PowerShell script, go to the Source Code page and click Download. The PowerShell script is freely modifiable but in short it automatically generates all of the tfpt addprojectreport commands for all projects on your server.
As noted in the PowerShell script, if the project was upgraded from a TFS 2010 project, the correct meta-data to figure out what process template to pull the reports from is unavailable. However, the logic in the PowerShell script can be changed so that it uses a specific version or you can simply add the values to the generated file after the fact.
Hopefully this will make the reporting upgrade process easier and faster as you migrate to TFS 2013 and beyond!