Referência de elemento XML de mapeamento de campo para a integração do Team Foundation Server e do servidor
Personalizando os mapeamentos de campo, você pode definir campos em Visual Studio Team Foundation Server 2012 e Microsoft Project Server sincronizados devem ser mantidos e quais campos são atualizados na fila de status para Project Server e em Team Foundation.
Observação |
---|
Os mapeamentos de campo para a integração de Team Foundation Server com Project Server são diferentes de arquivos 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 coleção de projeto de equipe que hospeda os projetos de equipe que você deseja sincronizar com Project Server.Para recuperar os mapeamentos de campo, você pode downloads um arquivo da coleção.Depois que você altera o arquivo, você pode carregá-lo à coleção, e as alterações serão aplicadas a todos os projetos de equipe que são definidos para essa coleção.Para obter mais informações sobre como baixar ou carregar mapeamentos de campo, consulte Personalizar o mapeamento de campo entre o Project Server e o Team Foundation Server.
Neste tópico
campos exigidos
campos padrões que são mapeados
Elementos e atributos de mapeamento
Mapeamentos de campo padrão
campos exigidos
Os seguintes campos devem ser mapeados para oferecer suporte a 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 referenciar os campos que você usar.
System.Title deve ser mapeado para o pjTaskName.
System.AssignedTo deve ser mapeado para pjResourceNames.
O campo que você usa para controlar o início de trabalho em Team Foundation deve ser mapeado para o pjTaskStart.por padrão, este campo é Microsoft.VSTS.Scheduling.StartDate.
O campo que você usa para controlar trabalho concluído em Team Foundation deve ser mapeado para pjTaskFinish.por padrão, este campo é Microsoft.VSTS.Scheduling.FinishDate.
De volta ao topo
campos padrões que são mapeados
para cada campo em Team Foundation, você pode especificar dois mapeamentos.Em o primeiro mapeamento, você especifica o campo no projeto que o campo em Team Foundation atualiza na fila de status.Em o segundo mapeamento, você especifica o campo no projeto que atualiza o campo em Team Foundation.Além de isso, você pode especificar se o campo em Team Foundation aparece no formulário de item de trabalho e como as atualizações são feitas para referenciar e campos espelhadas.
Por padrão, todos os campos de projeto que são mapeados são espelhadas também, o que significa que ele seus valores são armazenados em Team Foundation.
Importante |
---|
Em a maioria das configurações, você não deve remover os mapeamentos de campo padrão porque o processo de sincronização os requer.Por exemplo, não remover os mapeamentos padrão se seus mapeamentos de plano de projeto de equipe se a empresa um projeto que foi criado de um modelo de processo que é baseado na Microsoft solutions framework (MSF) para a programação de software agile ou a melhoria do processo de (CMMI) de integração modelo de maturidade de recurso. Em o entanto, se sua mapeia um plano da equipe se o projeto que foi criado usando o modelo de processo de scrum de Visual Studio , você pode precisar remover os mapeamentos padrão.Se sua coleção de projeto contém somente os projetos de equipe que foram criados usando o modelo de scrum, você pode receber um erro quando você configura os dois produtos de servidor.Para obter melhores resultados, adicione o trabalho concluído Microsoft.VSTS.Scheduling.CompletedWork () e o avaliam original (Microsoft.VSTS.Scheduling.OriginalEstimate) aos itens de trabalho que você deseja mapear.Além de isso, você precisará remova instruções do fluxo de trabalho <EMPTY /> de definição de tipo de tarefas.Para obter mais informações, consulte Alterações necessárias para fazer quando mapeando a um projeto de equipe que foi criado do modelo de processo do scrum. |
A tabela a seguir descreve os mapeamentos padrão que são atribuídos aos campos em Team Foundation.Você pode especificar como deseja que a referência e espelha os valores a serem atualizados.você pode definir OnConflict a PSWins para substituir o valor em Team Foundation com o valor de Project Server.Se você deixar o atributo de OnConflict não especificado, os campos mantêm valores diferentes.Para mais informações, revise a tabela de Elementos e atributos do campo posteriormente em este tópico.
Para obter mais informações sobre campos e espelhadas do processo de sincronização, consulte Entender como as atualizações de campos específicos são gerenciadas.
Team Foundation campo |
Projeta o campo |
Campo de exibição na guia do Server do formulário de item de trabalho (displayTfsField) |
A exibição espelhou o campo na guia do Server do formulário de item de trabalho (displayTfsMirror) |
Atualizações do campo (OnConflict) |
---|---|---|---|---|
Nome |
Nome da tarefa |
Não |
Não |
O valor no servidor em Team Foundationsubstitui o valor. |
Atribuído A |
Recursos |
Não |
Não |
O valor no servidor em Team Foundationsubstitui o valor. |
Restante trabalho |
Trabalho restante de recurso (fila de status) Trabalho restante da tarefa (Project Server) |
Sim |
Sim |
cada valor é mantido. |
trabalho concluído |
Trabalho real de recurso (fila de status) Trabalho real da tarefa (Project Server) |
Sim |
Sim |
cada valor é mantido. |
avaliação original |
Linha de base de trabalho |
Não |
Sim |
O valor no servidor em Team Foundationsubstitui o valor. |
data de início |
Recurso Início (fila de status) Tarefa Início (Project Server) |
Não |
Não |
O valor no servidor em Team Foundationsubstitui o valor. |
Data de término |
Suporte de recurso (fila de status) Suporte de tarefa (Project Server) |
Não |
Não |
O valor no servidor em Team Foundationsubstitui o valor. |
Você pode exibir mais campos do projeto na guia de Project Server de um formulário de item de trabalho em Team Foundation se você adicioná-los a mapeamentos do campo.Para obter mais informações sobre este guia, consulte Campos de adicionados Project Server à sincronização de dados de suporte.
De volta ao topo
Elementos e atributos de mapeamento
Você usa um elemento de field para especificar um campo de referência em Team Foundation para sincronização.Todos os elementos de field estão contidos em mappingFile, em persistables, e os elementos de contêiner de Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping .
Importante |
---|
Quando você mapeia um campo da Team Foundation Server Project Server, certifique-se que você corresponde os tipos de dados dos campos.Caso contrário, o seguinte erro pode aparecer quando você tenta carregar os mapeamentos do campo: O índice com base 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 dos elementos XML.Para exibir os mapeamentos padrão, consulte mapeamento padrão Arquivo posteriormente em este 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>
Coloque a sintaxe de elemento
A sintaxe a seguir define os atributos do elemento de field :
<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 do elemento de target :
<target provider="ProviderName" name="ProjectFieldName" />
Para determinar o nome de campo, utilizando o nome amigável concatenado com “pj”.Por exemplo, o nome do campo para o gerenciador de status é pjStatusManager, e o nome do campo para o personalizado é 01 pjCustom01.
De volta ao topo
Coloca os elementos e atributos
A tabela a seguir descreve os subelements e atributos do elemento de field .Você mapeia um campo de Team Foundation a um campo de recurso do projeto cujo valor você deseja atualizar durante a sincronização de status.Você mapeia um campo de Team Foundation a um campo de tarefas do projeto cujo valor Team Foundation Server publique atualize durante a sincronização.Além de isso, as unidades de campos que você mapeia devem estar de acordo com os critérios estabelecidos.Para obter mais informações, consulte Restrições em mapear campos de Project Server para a integração com o Team Foundation Server.
Elemento |
Atributo |
Descrição |
---|---|---|
field |
especifica o campo em Team Foundation a ser mapeado e como o campo deve ser mapeado. |
|
tfsName |
Especifica o nome da referência do campo em Team Foundation para sincronização.Você deve especificar um campo que é definido na coleção de projeto de equipe.Você pode listar todos os campos em uma coleção executar o comando de witadmin listfields .Para obter mais informações, consulte Gerenciar campos de item de trabalho [witadmin]. |
|
tfsMirrorName |
Obrigatório.Especifica o nome da referência sob a qual se deseja armazenar o valor do coloca em Team Foundation ServerServer.Você pode prefixar o nome de referência com o”. “espelho por exemplo, você pode especificar Mirror.System.Title para System.Title.
Observação
espelhar os campos que você especifica é criado automaticamente.Você não tem que adicionar campos de espelho a definição de tipo de um item de trabalho.
|
|
displayTfsField |
Opcional.Por padrão, este atributo é definido como true.Se esse atributo é definido como true, o campo aparece na guia de Project Server do formulário de item de trabalho em Team Foundation.Se esse atributo é definido como false, o campo não aparece no formulário.Por padrão, somente o trabalho concluído e os campos restantes de trabalho aparecem no formulário. |
|
displayTfsMirror |
Opcional.Por padrão, este atributo é definido como true.Se esse atributo é definido como true, o campo aparece na guia de Project Server do formulário de item de trabalho em Team Foundation.Se esse atributo é definido como false, o campo não aparece no formulário. |
|
onConflict |
Opcional.Especifica como o mecanismo de sincronização atualiza o campo de referência.o único valor válido é PSWin. Quando esse atributo é definido como PSWin, o valor do campo de referência é atualizado quando o valor atual que é publicado de difere do Project Server valor em espelho. Se você não definir o atributo, você indica que dois conjuntos de livros devem ser mantidos.Ou seja o valor no projeto pode diferir do valor em Team Foundation.Por padrão, os valores no projeto sempre substituem os valores dos campos de título, atribuídos a, data de início, e data de término.Por padrão, somente o trabalho concluído e os campos restantes de trabalho são mantidos com dois conjuntos de livros.Para obter mais informações, consulte Atualizações para os campos que contêm hora. |
|
tfsToTarget |
Especifica o nome do campo no projeto que Team Foundation atualizará. |
|
target |
especifica o destino para receber atualizações de 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 só campos internos ou personalizados da empresa em Project Server.Para obter uma lista de campos disponíveis, consulte Fields Available for Mapping to the Status Queue. |
|
targetToTfs |
Especificar o mapeamento de campo para sincronizar atualizações em Project Server com Team Foundation Server. |
|
target |
especifica o destino para receber atualizações de 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 atualizará o campo em Team Foundation.Você pode mapear só campos internos ou corporativo personalizado.Para obter uma lista de campos disponíveis, consulte Fields Available for Mapping from Project Server to Team Foundation Only. |
|
transforms |
Opcional.Elemento contêiner para o elemento de transform . |
|
transform |
transformType |
Especifica o tipo de transformações para aplicar ao campo.Você pode especificar somente transformType para targetToTfs e somente para tipos de campo numérico.o único valor válido é ClearValueIfParent. Quando o mecanismo de sincronização detectar uma hierarquia em um item de trabalho que está sincronizada com Project Server, executa um rolagem - anterior para que o trabalho e as atribuições enviem a Project Server.Em o entanto, com transformType definido como ClearValueIfParent, o mecanismo de sincronização limpa os campos de trabalho no item de trabalho pai em Team Foundation Server para evitar dados incorreto em relatórios padrão de Team Foundation Server . |
De volta ao topo
Mapeamentos padrão
As seguintes código lista os mapeamentos de campo padrão que são definidos quando você executar o comando de TfsAdmin ProjectServer /UploadFieldMappings e especificar a opção de /useDefaultFieldMappings .Você pode baixar esses mapeamentos para um arquivo e então adicione os elementos ou alterar 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ê adicionar esse tipo para participar na sincronização de dados, consulte Campos de adicionados Project Server à 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" />
<transforms>
<transform transformType="clearValueIfParent">
</transforms>
</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" />
<transforms>
<transform transformType="clearValueIfParent">
</transforms>
</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>
De volta ao topo
Consulte também
Referência
Gerenciar mapeamentos de campo para a integração do Team Foundation Server e do Project Server
Conceitos
Restrições em mapear campos de Project Server para a integração com o Team Foundation Server
Campos de adicionados Project Server à sincronização de dados de suporte
Administrar a integração do Team Foundation Server e do Project Server
Outros recursos
Personalizar o mapeamento de campo entre o Project Server e o Team Foundation Server