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

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

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

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

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

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

提示

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

要使用 TFSAdmin 命令行工具,您需要在运行 团队资源管理器 和 Visual Studio Team Foundation Server 2010 Service Pack 1 的计算机上打开命令提示符窗口。可以从以下目录中运行此工具:驱动器:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE。 对于 64 位计算机,该工具位于驱动器:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE 中。

所需权限

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

提示

即使您是以管理权限登录的,也必须使用提升的权限打开命令提示符窗口,才能在运行 Windows Server 2008 的服务器上执行此功能。 若要使用提升的权限打开命令提示符窗口,请单击“开始”,右击“命令提示符”,然后单击“以管理员身份运行”。 有关更多信息,请参见 Microsoft 网站上的以下页面:用户帐户控制

语法

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)。 必须使用以下格式指定 URL:http://ServerName:Port/VirtualDirectoryName/CollectionName

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

http://服务器名称:端口/集合名称

/enterpriseproject:EnterpriseProjectName

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

/teamproject:TeamProjectName

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

/workitemtypes:ListofWorkItemTypes

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

/nofixedwork

指定 Project Professional 中的任务类型不应针对映射到 Team Foundation 中的工作项的任务自动设置为“固定工时”。 默认情况下,作为两个服务器产品之间集成的一部分,如果企业项目计划中的任务被映射到 Team Foundation 中的工作项,则这些任务的任务类型会设置为“固定工时”。 使用此开关可重写此行为。 固定工作是可在 Project 中使用的三个任务类型之一。 有关更多信息,请参见 Change the task type Project uses to calculate task duration(更改 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 选项卡添加到您指定的工作项类型的工作项表单中。

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

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

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

提示

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

返回页首

示例

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

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

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

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

列出已映射的企业项目

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

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

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

下面的示例将 MyEnterpriseProjA 映射到 AdventureWorksServer 上的 Collection0 中的 MyTeamProjB 并指定用户情景和任务将参与同步。

TfsAdmin ProjectServer /MapPlanToTeamProject /collection:http://AdventureWorksServer:8080/tfs/Collection0/ enterpriseproject:MyEnterpriseProjA /teamproject:MyTeamProjB /workitemtypes:"User Story, Task"

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

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

TfsAdmin ProjectServer /UnmapPlanFromTeamProject /collection:http://AdventureWorksServer:8080/tfs/Collection0/ enterpriseproject:MyEnterpriseProjA /teamproject:MyTeamProjB

返回页首

请参见

其他资源

配置 Team Foundation Server 与 Project Server 的集成

管理 Project Server 与 TFSAdmin ProjectServer 的集成