从 C# 读取 TFS 容量计划

TFS Capacity plan reading from c#

我正在用 tfs 做一个报告工具。我能够从 tfs 中读取工作项和迭代相关信息。如何从tfs中获取迭代容量计划信息。使用 WIQL 或任何其他选项。我需要在我的 C# 代码中获取信息。

在此先感谢您的帮助。

迭代对象是项目设置的一部分,您可能需要从那里而不是从工作项中查询迭代详细信息。

无法通过客户端对象模型执行此操作。请参考这个类似的问题:TFS 11 2012 API Questions : query capacity and days off

这些值只能从服务器对象模型中获得(目前没有等效的客户端对象模型)。接口和对象都是Internal所以即使在服务器上你也不能访问这些值。

internal TeamCapacity GetTeamIterationCapacity(Guid teamId, Guid iterationId);

Declaring Type: Microsoft.TeamFoundation.Server.WebAccess.WorkItemTracking.Common.DataAccess.TeamConfigurationComponent

Assembly: Microsoft.TeamFoundation.Server.WebAccess.WorkItemTracking.Common, Version=12.0.0.0

您可以直接从 James Tupper 在此 thread.

中提到的表中的 ProjectCollection 数据库中查询

或者您也可以使用 Rest APIGet a team's capacity or Get a team member's capacity 将得到如下响应:

{
  "values": [
    {
      "teamMember": {
        "id": "8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d",
        "displayName": "Chuck Reinhart",
        "uniqueName": "fabrikamfiber3@hotmail.com",
        "url": "https://fabrikam-fiber-inc.vssps.visualstudio.com/_apis/Identities/8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d",
        "imageUrl": "https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_api/_common/identityImage?id=8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d"
      },
      "activities": [
        {
          "capacityPerDay": 0,
          "name": null
        }
      ],
      "daysOff": [],
      "url": "https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/6d823a47-2d51-4f31-acff-74927f88ee1e/748b18b6-4b3c-425a-bcae-ff9b3e703012/_apis/work/teamsettings/iterations/2ec76bfe-ba74-4060-970d-4567a3e997ee/capacities/8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d"
    }
  ]
}