::Configurando Team Projects com Enterpriste Projects e mapeando Work Itens::

Executar o prompt de comando  como administrador e acessar o caminho:

C:/Program Files (x86 )/Microsoft Visual Studio 10.0/Common7/IDE/
  

Executar a seguinte linha de commando:

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

Substituindo http://AdventureWorksServer:8080/tfs/Collection0 pelo endereço do servidor de TFS seguindo da Collection principal, MyEnterpriseProjA pelo nome do  Projeto que esta publicado no Project Server 2010, MyTeamProjB pelo nome do Team Project que vai sincronizar no TFS 2010 e em workitemtypes colocar os itens que quer sincronizar, sem as aspas.

Para projetos CMMI geralmente esses são os workitens utilizados: Bug, Change Request, Issue, Requirement, Risk, and Task , sendo os principais Requirement, Task , e para projetos MSF Agile são: User Story, Tasks  e SCRUM: Sprint, Task. Conforme a tabela abaixo:

Team Foundation field

Project Server field

Status Queue field

Work item types in Agile 5.0

Work item types in CMMI 5.0

Work item types in Scrum 1.0

Title

Task Name

Title

All

All

All except for Sprint

Assigned To

Resources

Resources

All

All

All except for Sprint

Completed Work

Task Actual Work

Resource Actual Work

Task

Task

None

Remaining Work

Task Remaining Work

Resource Remaining Work

Task

Task

Task

Original Estimate

Baseline Work

  

Task

Bug, Change Request, Issue, Requirement, Risk, and Task

None

Start Date

Task Start

Resource Start

Task and User Story

Task and Requirement

Sprint

Finish Date

Task Finish

Resource Finish

Task and User Story

Task and Requirement

Sprint


::IMPORTANTE::

Se estiver usando o template SCRUM 1.0 , é necessário fazer manualmente o mapeamento dos work items que deseja sincronizar executando os seguintes comandos e ações:

witadmin exportwitd /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName /p:projectName /n:WorkItemTypeName /f:FileName

Alterar http://ServerName:Port/VirtualDirectoryName/CollectionName para o caminho correto da collection principal complete , projectName para o nome do projeto ,  WorkItemTypeName pelo tipo que irá exportar para alterar neste caso Sprint  e  FileName  pelo caminho onde irá ser feito o download e o nome do arquivo xml que irá mostrar o mapeamento dos work items. 

Acessar o arquivo gerado na pasta indicada Ex.: C:\Maps\sprint.xml ,  abrir e adicionar as seguintes linhas na chave FIELDS :

<FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum">

   <HELPTEXT>The number of units of work that have been spent on this task</HELPTEXT>

</FIELD>

<FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum">

   <HELPTEXT>Initial value for Remaining Work - set once, when work begins. </HELPTEXT>

</FIELD>

Depois adicionar na chave Control:

<Control FieldName="Microsoft.VSTS.Scheduling.OriginalEstimate" Type="FieldControl" Label="Original Estimate:" LabelPosition="Left" />

<Control FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Type="FieldControl" Label="Completed:" LabelPosition="Left" />

Salvar o arquivo e executar o comando abaixo para importar as alterações:

witadmin importwitd /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName /p:projectName /n:WorkItemTypeName /f:FileName

::Comandos para verificar integração::

Fazer download dos mapeamentos feitos:

TfsAdmin ProjectServer /DownloadFieldMappings /collection:http://demotfs2010:8080/tfs/democollection /filePath:c:\temp\mappingfile.txt

Verificar os Work Itens mapeados:

tfsadmin
 projectserver /GetMappedWorkItemTypes /collection:http://demotfs2010:8080/tfs/democollection /teamproject:DemoAgile

Verificar projetos mapeados:

      tfsadmin projectserver /GetMappedProjects /collection:http://demotfs2010:8080/tfs/democollection

     

      ::Comandos para Remover integração::

     Retirar o Mapeamento do Team Project

     TfsAdmin ProjectServer /UnmapPlanFromTeamProject /collection:http://demotfs2010:8080/tfs/democollection /enterpriseProject:"The Master Plan"          /teamproject:DemoAgile

     Retirar o mapeamento da Collection:

     TfsAdmin ProjectServer /UnmapPWAFromCollection /pwa:http://demosharepoint/pwa  /collection:http://demotfs2010:8080/tfs/democollection

     
    Referência:

      Customizing the Field Mapping Between Project Server and Team Foundation Server