I need to get several things done with the TFS API. Among those, I have to read the Resource planning information for the sprints of each Project to display in a WPF UI.
These values are only available from the Server Object Model (there is no Client Object Model equivalent at the moment). The interfaces and objects are all made Internal so even on the server you can't access these values.
internal TeamCapacity GetTeamIterationCapacity(Guid teamId, Guid iterationId);Declaring Type:
Microsoft.TeamFoundation.Server.WebAccess.WorkItemTracking.Common.DataAccess.TeamConfigurationComponentAssembly:
Microsoft.TeamFoundation.Server.WebAccess.WorkItemTracking.Common, Version=12.0.0.0
At the moment the only way to get to the data is through the json service (/tfs/{ProjectCollection}/{Team Project}/_api/_teamcapacity/updateteamcapacity/{Team}/{Iteration/Path}?__v=4) the Team Capacity page uses or directly from the ProjectCollection database from the tables mentioned by James Tupper.
It looks like the json service is using Request Verification which makes it hard to use from any external system.
Required Disclaimer:
The server databases of TFS are not meant for extensibility, any direct queries against them are not supported and the model can change without notice, even between service packs. Querying the TFS databases directly is not supported. Changing the values in the TFS databases through any other means than the official API's will essentially put your TFS server in an unsupported state and can cause major issues when upgrading to a newer version later on.