Partilhar via


Campo de referência do elemento XML de mapeamento para a integração de Team Foundation Server de e o Project Server

Personalizando os mapeamentos de campo, você pode definir quais campos no Visual Studio Team Foundation Server 2010 e o Project Server devem ser mantido sincronizado e quais campos são atualizados na fila de status para o Project Server e no Team Foundation.

ObservaçãoObservação

Os mapeamentos de campo para a integração de Team Foundation Server com o Project Server são diferentes do arquivo de mapeamento para Microsoft Project. Para obter informações sobre o último arquivo, consulte O arquivo de mapeamento de campo do Microsoft Project.

Você mantém um conjunto de mapeamentos de campo para cada conjunto de projeto de equipe hosts equipe de projetos que você deseja sincronizar com o Project Server. Para recuperar os mapeamentos de campo, você pode baixá-los em um arquivo da coleção. Depois de modificar o arquivo, você pode carregá-lo à coleção e as alterações serão aplicadas a todos os projetos de equipe são definidos para essa coleção. Para obter mais informações sobre como fazer download ou upload de mapeamentos de campo, consulte Personalizando o mapeamento de campo entre o Project Server e do Team Foundation Server.

Neste tópico

  • Campos obrigatórios

  • Campos padrão que são mapeados.

  • Mapeamento de elementos e atributos

  • Mapeamentos de campo padrão

Campos obrigatórios

Os campos a seguir devem ser mapeados para oferecer suporte à sincronização de dados. Se você personalizou os campos que são usados para agendar o trabalho, você deve personalizar os mapeamentos de campo para fazer referência os campos que você usa.

  • System.title deve ser mapeado para pjTaskName.

  • System.AssignedTo deve ser mapeado para pjResourceNames.

  • O campo que você pode usar para controlar o trabalho restante em Team Foundation deve ser mapeado para pjTaskRemainingWork. Por padrão, este campo é Microsoft.VSTS.Scheduling.RemainingWork.

  • O campo que você usar para rastrear concluído funcionam em Team Foundation deve ser mapeado para pjTaskActualWork. Por padrão, este campo é Microsoft.VSTS.Scheduling.CompletedWork.

  • O campo que você usa para controlar o início do trabalho em Team Foundation deve ser mapeado para pjTaskStart. Por padrão, este campo é Microsoft.VSTS.Scheduling.StartDate.

  • O campo que você usar para rastrear concluído funcionam em Team Foundation deve ser mapeado para pjTaskFinish. Por padrão, este campo é Microsoft.VSTS.Scheduling.FinishDate.

Voltar ao topo

Campos padrão que são mapeados.

Para cada campo na Team Foundation, você pode especificar dois mapeamentos. No mapeamento primeiro, você pode especificar o campo no projeto que o campo Team Foundation atualizações na fila de status. No segundo mapeamento, você especificar o campo no projeto que atualiza o campo Team Foundation. Além disso, você pode especificar se o campo Team Foundation é exibido no item de trabalho, formulário, se o campo é espelhado e como os conflitos são resolvidos.

Por padrão, todos os campos de projeto são mapeados são espelhados também, que significa que os seus valores são armazenados em Team Foundation.

Observação importanteImportante

Na maioria das configurações, você não deve remover os mapeamentos de campo padrão porque o processo de sincronização exigi-las. Por exemplo, não remova os mapeamentos padrão se o seu plano de projeto da empresa mapeia para um projeto de equipe foi criado a partir de um modelo de processo que se baseia o Microsoft Solutions Framework (MSF) para a v 5.0 do desenvolvimento de Software ágil ou a v 5.0 a melhoria do processo de integração de modelo de maturidade de capacidade (CMMI).

No entanto, se seu plano é mapeado para um projeto de equipe que foi criado usando o modelo de processo do MSF 1.0 de Scrum, talvez você precise remover alguns dos mapeamentos padrão. Se sua coleção de projeto contém apenas os projetos de equipe que foram criados usando o modelo Scrum, você poderá receber um erro ao configurar os produtos de servidor de dois. Para obter melhores resultados, adicione concluída de trabalho (Microsoft.VSTS.Scheduling.CompletedWork) e a estimativa Original (Microsoft.VSTS.Scheduling.OriginalEstimate) para os itens de trabalho que você pretende mapear. Para obter mais informações, consulte Modifying Field Mappings When Mapping to a Team Project That Was Created From the Scrum 1.0 Process Template.

A tabela a seguir descreve os mapeamentos padrão que são atribuídos a campos em Team Foundation. Você pode especificar como deseja que o conflito seja resolvido. Um conflito ocorre quando os valores de um campo mapeado em ambas as Team Foundation e o Project Server são alteradas ao mesmo tempo. Você pode definir OnConflict para PSWins para substituir o valor em Team Foundation com o valor do Project Server. Se você deixar o OnConflict atributo não especificado, os campos mantém valores diferentes. Para obter mais informações, consulte o campo elementos e atributos tabela mais adiante neste tópico.

Para obter mais informações sobre campos espelhados, os três tipos de sincronização e a resolução de conflitos, consulte Visão geral do processo de sincronização de Team Foundation Server e a integração do Project Server.

Team Foundation campo

Campo de projeto

Campo de exibição na guia do Project Server do formulário de item de trabalho (displayTfsField)

Campo espelhado da exibição na guia do Project Server do formulário de item de trabalho (displayTfsMirror)

Resolução de conflitos (OnConflict)

Título

Nome da tarefa

Não

Não

O valor no Project Server substitui o valor em Team Foundation.

Atribuído À

Recursos

Não

Não

O valor no Project Server substitui o valor em Team Foundation.

Trabalho restante

Recurso de trabalho (fila de Status) restante

A tarefa de trabalho restante (Project Server)

Sim

Sim

Cada valor é mantido.

Trabalho concluído

Recurso de trabalho real (fila de Status)

Tarefa de trabalho real (Project Server)

Sim

Sim

Cada valor é mantido.

Estimativa original

Trabalho da linha de base

Não

Sim

O valor no Project Server substitui o valor em Team Foundation.

Data de início

Início do recurso (fila de Status)

Início da tarefa (Project Server)

Não

Não

O valor no Project Server substitui o valor em Team Foundation.

Data de término

Término do recurso (fila de Status)

Término da tarefa (Project Server)

Não

Não

O valor no Project Server substitui o valor em Team Foundation.

Você pode exibir mais campos de projeto sobre o Project Server guia de um formulário de item de trabalho no Team Foundation se você adicioná-los para os mapeamentos de campo. Para obter mais informações sobre esta guia, consulte Campos do Project Server é adicionado à sincronização de dados de suporte.

Voltar ao topo

Mapeamento de elementos e atributos

Você pode usar um field elemento para especificar um campo de referência em Team Foundation para sincronizar. Todos os field elementos estão contidos no mappingFile, persistables, e Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping elementos de contêiner.

Observação importanteImportante

Quando você mapeia um campo de Team Foundation Server para o Project Server, certifique-se de que a coincidir com os tipos de dados nesses campos. Caso contrário, o seguinte erro pode aparecer ao tentar carregar os mapeamentos de campo:

O índice (baseado em zero) deve ser maior ou igual a zero e menor que o tamanho da lista de argumentos.

Para obter mais informações, consulte Data Types and Field Mapping Criteria.

O exemplo a seguir mostra a estrutura de aninhamento de elementos XML. Para exibir os mapeamentos padrão, consulte O arquivo de mapeamento padrão posteriormente neste tópico.

<mappingFile>
   <persistables>
      <Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
         <field tfsName="System.Title" tfsMirrorName="Mirror.System.Title" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
            <tfsToTarget>
               <target provider="ProjectServerStatusQueue" name="pjTaskName" />
            </tfsToTarget>
            <targetToTfs>
               <target provider="ProjectServerPublished" name="pjTaskName" />
            </targetToTfs>
         </targetToTfs>
      </field>

         . . .

    </Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
  </persistables>
</mappingFile>

Sintaxe de elemento de campo

A sintaxe a seguir define os atributos da field elemento:

<field tfsName="FieldName" tfsMirrorName="FieldMirrorName" displayTfsField="true | false" displayTfsMirror=" true | false" onConflict="PSWin">

Sintaxe de elemento de destino

A sintaxe a seguir define os atributos da target elemento:

<target provider="ProviderName" name="ProjectFieldName" />

Para determinar o nome do campo, prefixo o nome amigável concatenado com "pj". Por exemplo, o nome do campo para o Gerenciador de Status é pjStatusManager e o nome do campo personalizado 01 é pjCustom01.

Voltar ao topo

Atributos e elementos de campo

A tabela a seguir descreve os subelementos e os atributos da field elemento. Você não pode mapear alguns campos para a fila de status e alguns campos do Project Server para Team Foundation Server. Além disso, as unidades de campos que você mapeie devem obedecer aos critérios estabelecidos. Para obter mais informações, consulte Restrições de mapeamento de campos do Project Server para integração com de Team Foundation Server.

Elemento

Atributo

Descrição

field

Especifica o campo Team Foundation deve ser mapeado e como o campo deve ser mapeado.

tfsName

Especifica o nome de referência do campo na Team Foundation para sincronizar. Você deve especificar um campo que é definido na coleção de projeto de equipe. Você pode listar todos os campos em uma coleção, executando o witadmin listfields comando. Para obter mais informações, consulte Gerenciando os campos de Item de trabalho [witadmin].

tfsMirrorName

Especifica o nome de referência na qual armazenar o valor do campo do Project Server no Team Foundation Server. Prefixo de nome de referência com "Espelho". Por exemplo, você pode especificar o Mirror.System.Title para System.Title.

ObservaçãoObservação
Os campos de TMirror que você especificou são criados automaticamente.Não é necessário adicionar os campos de espelho para a definição de tipo de um item de trabalho.

displayTfsField

Opcional. Por padrão, esse atributo é definido true. Se esse atributo estiver definido como true, o campo aparece no Project Server o guia do formulário de item de trabalho em Team Foundation. Se esse atributo estiver definido como false, o campo não aparece no formulário. Por padrão, somente os campos de trabalho concluído e trabalho restante, aparecem no formulário.

displayTfsMirror

Opcional. Por padrão, esse atributo é definido true. Se esse atributo estiver definido como true, o campo aparece no Project Server o guia do formulário de item de trabalho em Team Foundation. Se esse atributo estiver definido como false, o campo não aparece no formulário.

onConflict

Opcional. Especifica como conflitos devem ser tratados quando um campo não for espelhado. O único valor válido é PSWin.

Quando esse atributo é definido como PSWin, o valor do campo é atualizado quando o valor atual, que é publicado do Project Server é diferente do valor no espelho.

Se você não definir esse atributo, você indica que dois conjuntos de livros devem ser mantidos. Em outras palavras, o valor no projeto pode diferir do valor em Team Foundation. Por padrão, os valores no projeto sempre substituir os valores dos campos de título, atribuído A, data de início e data final se ocorrer um conflito. Por padrão, somente os campos trabalho concluído e trabalho restante são mantidos com dois conjuntos de catálogos.

tfsToTarget

Especifica o nome do campo no projeto que Team Foundation será a atualização.

target

Especifica o destino para receber atualizações do Team Foundation.

provider

Especifica o nome do provedor de atualização. Para tfsToTarget, o único valor válido é ProjectServerStatusQueue.

name

Especifica o nome do campo de projeto que será atualizado com o valor em Team Foundation. Você pode mapear apenas interno ou enterprise campos personalizados no Project Server. Para obter uma lista de campos disponíveis, consulte Fields Available for Mapping to the Status Queue.

targetToTfs

Especifica o mapeamento de campo para sincronizar atualizações no Project Server com Team Foundation Server.

target

Especifica o destino para receber atualizações do Project Server.

provider

Especifica o nome do provedor de atualização. Para targetToTfs, o único valor válido é ProjectServerPublished.

name

Especifica o nome do campo no projeto que irá atualizar o campo Team Foundation. Você pode mapear campos personalizados somente interna ou corporativa. Para obter uma lista de campos disponíveis, consulte Fields Available for Mapping from Project Server to Team Foundation Only.

Voltar ao topo

Mapeamentos padrão

O código a seguir lista os mapeamentos de campo padrão são definidos quando você executa o TfsAdmin ProjectServer /UploadFieldMappings comando e especifique o /useDefaultFieldMappings opção. Você pode baixar esses mapeamentos para um arquivo e adicionar elementos a ele ou modificar os atributos dos campos listados.

Para obter uma lista de todos os campos que são adicionados a um tipo de item de trabalho quando você adiciona esse tipo de participarem na sincronização de dados, consulte Campos do Project Server é adicionado à sincronização de dados de suporte.

<mappingFile>
  <persistables>
    <Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
      <field tfsName="System.Title" tfsMirrorName="Mirror.System.Title" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjTaskName" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskName" />
        </targetToTfs>
      </field>
      <field tfsName="System.AssignedTo" tfsMirrorName="Mirror.System.AssignedTo" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjTaskResourceNames" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskResourceNames" />
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.CompletedWork" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.CompletedWork" displayTfsField="true" displayTfsMirror="true">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjResourceActualWork" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskActualWork" />
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.RemainingWork" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.RemainingWork" displayTfsField="true" displayTfsMirror="true">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjResourceRemainingWork" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskRemainingWork" />
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.OriginalEstimate" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.OriginalEstimate" displayTfsField="false" displayTfsMirror="true" onConflict="PSWin">
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskBaselineWork" />
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.StartDate" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.StartDate" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjResourceStart" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskStart" />
        </targetToTfs>
      </field>
      <field tfsName="Microsoft.VSTS.Scheduling.FinishDate" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.FinishDate" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
        <tfsToTarget>
          <target provider="ProjectServerStatusQueue" name="pjResourceFinish" />
        </tfsToTarget>
        <targetToTfs>
          <target provider="ProjectServerPublished" name="pjTaskFinish" />
        </targetToTfs>
      </field>
    </Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
  </persistables>
</mappingFile>

Voltar ao topo

Consulte também

Outros recursos

Restrições de mapeamento de campos do Project Server para integração com de Team Foundation Server

Campos do Project Server é adicionado à sincronização de dados de suporte

Gerenciando mapeamentos de campo para a integração de Team Foundation Server e o Project Server

Personalizando o mapeamento de campo entre o Project Server e do Team Foundation Server

Administrando a integração de Team Foundation Server e o Project Server