管理企业项目与团队项目之间的映射

在 Visual Studio Team Foundation Server 和 Microsoft Project Server同步数据以前,必须先执行若干个任务,包括将企业项目计划与团队项目相关联。 有关如何集成这两个产品的概述,请参见配置 TFS-Project Server 集成

可以使用 命令行工具中的以下命令TfsAdmin ProjectServer在 TFS中管理企业项目计划与团队项目的关联:

  • /MapPlanToTeamProject:将企业项目计划映射到团队项目。 可以多个计划映射到同一团队项目,也可以将每个计划仅映射到一个团队项目。

  • /GetMappedProjects:返回已映射到您指定的团队项目集合中的任何团队项目的企业项目计划列表。

  • /UnmapPlanFromTeamProject:移除企业项目计划和团队项目之间的映射。

备注

将企业项目计划映射到团队项目后,您可以更改将要同步的工作项的类型。有关详细信息,请参阅定义可用于同步的工作项类型

若要运行 TFSAdmin 命令行工具,请在安装了 Visual Studio 或团队资源管理器的情况下打开命令提示符窗口,然后输入:

cd %programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE

在 32 位 Windows 版本上,将 %programfiles(x86)% 替换为 %programfiles%.

要求

若要使用这些命令,必须将团队项目集合的**“管理 Project Server 集成”权限设置为“允许”**。 此外,必须还要向 Team Foundation Server 的服务帐户授予与参与数据同步的 PWA 实例进行交互所需的权限。有关详细信息,请参阅分配权限以支持 TFS-Project Server 集成

语法

TfsAdmin ProjectServer /GetMappedProjects /collection:tpcUrl

TfsAdmin ProjectServer /MapPlanToTeamProject /collection:tpcUrl /enterpriseProject:EnterpriseProjectName /teamProject:TeamProjectName [/workItemTypes:ListOfWorkItemTypes] [/noFixedWork] [/projectFieldForWorkItemType:ProjectFieldName] [/skipUIChanges]

TfsAdmin ProjectServer /UnmapPlanFromTeamProject /collection:tpcUrl /enterpriseProject:EnterpriseProjectName /teamProject:TeamProjectName [/force]

参数

Parameter

描述

/collection:tpcUrl

指定团队项目集合的统一资源定位器 (URL)。 按格式http://ServerName:Port/VirtualDirectoryName/CollectionName指定URL

如果不指定使用虚拟目录,则必须按以下格式指定 URL:

http://ServerName:Port/CollectionName

/enterpriseProject:EnterpriseProjectName

指定企业项目计划的名称。 计划必须在 Project Server 上存储和发布,PWA 的实例必须在存储了项目集合的 Team Foundation Server 部署中进行注册。

/teamProject:TeamProjectName

指定在项目集合中定义的团队项目的名称。

/workItemTypes:ListofWorkItemTypes

以逗号分隔列表的格式指定一个或多个工作项类型的引用名称。 您应该仅指定要在 Project Professional 中跟踪其数据的那些工作项类型。 例如,可以指定以下工作项类型来支持形式为 "User Story,Task"或 "User Story",Task 的敏捷过程。逗号后面不能有空格。

/noFixedWork

指定 Project Professional 中的任务类型不应针对映射到 Team Foundation 中的工作项的任务自动设置为“固定工时”。 默认情况下,作为两个服务器产品之间集成的一部分,如果企业项目计划中的任务被映射到 Team Foundation 中的工作项,则这些任务的任务类型会设置为“固定工时”。 使用此开关可重写此行为。 固定工作是可在 Project 中使用的三个任务类型之一。 有关详细信息, 请参阅改变项目任务类型计算任务持续时间.

/projectFieldForWorkItemType: ProjectFieldName

指定 Microsoft Project 字段的名称,用于显示在 Team Foundation 中定义的工作项类型的值。 您应指定一个介于 pjTaskText1 和 pjTaskText30 之间的值。 默认情况下,该值为 pjTaskText30。

/force

移除团队项目中定义且当前链接到项目计划的所有工作项的所有映射。 未映射的团队项目中不能包含任何链接的工作项。 只有在您确信您不再希望团队集合中的任何工作项继续参与数据同步时,才应指定此选项。

/skipUIChanges

指定工作项表单中的 Project Server 选项卡不应针对您指定的类型进行更改。 如果您已经针对受影响的类型自定义了 Project Server 选项卡,则应包含此标志。

/?help

显示有关此命令的信息。

备注

当您运行命令时,会显示一条消息,指明正在执行的操作和正在操作的对象。 例如,下面的消息说明正在映射企业项目计划:

Mapping enterprise project EntProjA . . . Done.

完成此命令后,会出现另一条消息。 例如,下面的消息表示企业项目计划的已映射到团队项目:

Mapping enterprise project EntProjA to team project MyTeamProj . . . Done.

除了将企业项目计划与团队项目关联,/MapPlantoTeamProject 选项还将 Project Server 选项卡添加到您指定的工作项类型的工作项表单中。

如果您尝试将企业项目映射到还未映射字段的团队项目,将会显示一条消息,指示需要映射,而且不会执行其他操作。 有关详细信息,请参阅自定义 TFS 与 Project Server 之间的字段映射

如果您移除企业项目和无任何其他企业项目映射到的团队项目之间的映射,则会从您取消映射的团队项目中的所有工作项类型的表单中移除 Project Server 选项卡。

在取消映射团队项目之前,必须先移除企业项目计划中的任务和 Team Foundation 中的工作项之间的关联。 可以通过从企业项目计划中删除任务、发布计划并等待完成同步,来移除此关联。 或者,也可以使用 /force 标志来移除项目任务和工作项之间的关联。

提示

在删除这些任务之前,您可能希望将你要删除的计划复制到另一个计划用来记录任务。

示例

除非另外指定,否则下面的值适用于每个示例:

  • PWA 实例的 URL:http://MyPWAServer/MyPWAInstance/

  • Team Foundation Server 的 URL:http://AdventureWorksServer:8080/tfs/

  • 团队项目集合的 URL:http://AdventureWorksServer:8080/tfs/DefaultCollection

列出已经映射的企业项目

下面的示例列出映射到 AdventureWorksServer 上的 Collection0 中的团队项目的企业项目。

TfsAdmin ProjectServer /GetMappedProjects /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection

将企业项目映射到团队项目

下面的示例在dventureWorksServer的默认集合上将 MyEnterpriseProjA 映射到 MyTeamProjB,并指定用户情景和任务将参与同步。

TfsAdmin ProjectServer /MapPlanToTeamProject /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection/ enterpriseProject:MyEnterpriseProjA /teamProject:MyTeamProjB /workItemTypes:"User Story, Task"

移除企业项目到团队项目的映射

下面的示例 从AdventureWorksServer 上的 Collection中移除 MyEnterpriseProjA 到 MyTeamProjB 的关联。

TfsAdmin ProjectServer /UnmapPlanFromTeamProject /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection/ enterpriseProject:MyEnterpriseProjA /teamProject:MyTeamProjB

请参见

任务

配置 TFS-Project Server 集成

概念

映射集成组件 [TfsAdmin ProjectServer]