Adicionar ou modificar um campo para monitorizar o trabalho

Azure DevOps Server 2022 - Azure DevOps Server 2019

Seu projeto contém 100 ou mais campos de dados, com base no processo usado para criar seu projeto, como Agile, Basic, Scrum ou CMMI. Cada item de trabalho é associado a um tipo de item de trabalho (WIT), e os dados que você pode rastrear correspondem aos campos atribuídos ao WIT. Você atualiza dados para um item de trabalho modificando o campo de dados dentro de um item de trabalho.

Nota

Para Serviços de DevOps do Azure ou para coleções de projetos que usam o modelo de processo herdado, consulte Adicionar um campo personalizado a um tipo de item de trabalho.

Você pode modificar um campo existente ou adicionar um campo personalizado para dar suporte ao rastreamento de requisitos de dados adicionais. Por exemplo, você pode personalizar a lista de opções em um menu suspenso ou adicionar uma regra para especificar um valor padrão ou restringir o valor que ele pode ter.

Nem todas as listas de opções são definidas da mesma maneira. Algumas listas são definidas através da interface do usuário, do fluxo de trabalho para um WIT ou adicionando contas de usuário a um projeto, conforme indicado na tabela a seguir.

Pré-requisitos

  • Para listar campos, você deve ter sua permissão Exibir informações no nível do projeto para o projeto na coleção definida como Permitir.
  • Para adicionar ou personalizar um campo, você deve ser membro do grupo Administradores de Projeto ou ter a permissão Editar informações no nível do projeto definida como Permitir.
  • Para excluir ou renomear campos ou alterar um atributo de um campo, você deve ser membro do grupo de segurança Administradores do Team Foundation ou do grupo de segurança Administradores de Coleção de Projetos.

Para ser adicionado como administrador, altere as permissões no nível da coleção do projeto.

Métodos pelos quais os campos de item de trabalho são adicionados

Você usa campos de item de trabalho para controlar dados para um tipo de item de trabalho e para definir os critérios de filtro para consultas, bem como para gerar relatórios. Qualquer elemento de dados, exceto campos do sistema, que você deseja controlar deve ser definido como um campo de item de trabalho. Você pode definir campos de item de trabalho dentro da definição de um tipo de item de trabalho ou fluxo de trabalho global.

Os campos de item de trabalho são mantidos para uma coleção de projeto. Você adiciona campos ao executar uma das seguintes tarefas:

  • Crie um projeto. Todos os campos definidos dentro das definições para tipos de item de trabalho ou fluxo de trabalho global e que são definidos para o modelo de processo selecionado são criados. Os campos principais do sistema são definidos automaticamente para cada tipo de item de trabalho definido para um projeto. Para obter uma lista desses campos, consulte Índice de campo de item de trabalho.

  • Importe uma definição WIT. Todos os novos campos definidos na definição de um tipo de item de trabalho são adicionados à coleção. Para obter mais informações, consulte Referência de todos os elementos XML WITD.

  • Importe uma definição de fluxo de trabalho global. Todos os novos campos definidos no fluxo de trabalho global são adicionados à coleção. Você define um fluxo de trabalho global quando deseja manter um conjunto de campos de item de trabalho que vários tipos de itens de trabalho compartilham. Para obter mais informações, consulte Personalizar fluxo de trabalho global.

Todos os campos definidos em todos os WITs e todos os fluxos de trabalho globais para todos os projetos compõem o conjunto completo de campos definidos na coleção. Você pode alterar o atributo de, renomear e excluir campos existentes. No entanto, você incorre em certos custos quando faz esses tipos de alterações, especificamente para servidor local e relatórios.

Para adicionar ou personalizar um campo para uma coleção, modifique o conteúdo XML para a definição WIT. Defina cada campo através de um elemento FIELD dentro da seção FIELDS da definição WIT. Para obter informações sobre a estrutura e o local desses arquivos, consulte All FIELD XML elements reference.

Adicionar um campo, aplicar uma regra ou alterar um atributo

Para adicionar um campo personalizado, adicionar regras de campo ou alterar o rótulo de um campo em um formulário de item de trabalho, modifique o tipo de item de trabalho (WIT) ou os tipos que usam o campo. Siga a sequência de personalização que corresponde ao seu modelo de processo.

Para alterar um atributo de campo ou renomear um campo, use a ferramenta de linha de comando witadmin . Caso contrário, para modificar um campo, você adiciona ou modifica as regras associadas ao campo dentro de uma definição WIT.

Resumo dos atributos e regras de campo

Para editar um arquivo de definição WIT

Para adicionar regras ou adicionar um campo personalizado, exporte, edite e importe o arquivo de definição WIT.

Gorjeta

Com o witadmin, você pode importar e exportar arquivos de definição. Outras ferramentas que você pode usar incluem o Editor de processos (requer que você tenha instalado uma versão do Visual Studio). Instale o editor de modelo de processo do Visual Studio Marketplace.

Qualquer campo que você queira usar para rastrear dados deve ser adicionado ao arquivo de definição WIT. Isso é verdade para todos, exceto os campos do sistema (campos cujo nome de referência começa com System.). Todos os campos Sistema são definidos para todos os WITs, quer você os inclua ou não na definição de WIT. Para obter mais informações sobre cada campo, consulte Índice de campo de item de trabalho.

Adicionar uma caixa de seleção ou campo booleano

Use a sintaxe a seguir para adicionar um campo booleano na seção FIELDS da definição WIT.

<FIELD name="Triage" refname="Fabrikam.Triage" type="Boolean" >
   <DEFAULT from="value" value="False" />
   <HELPTEXT>Triage work item</HELPTEXT>
</FIELD>

E, em seguida, adicione a sintaxe a seguir na seção FORM para que o campo apareça no formulário.

<Control Label="Triage" Type="FieldControl" FieldName="Fabrikam.Triage" />

O campo aparecerá como uma caixa de seleção no formulário.

Personalizar uma lista de opções

As listas de opções são os valores enumerados que aparecem em um menu suspenso em um formulário de item de trabalho e a coluna Valor no editor de consultas. O método usado para personalizar uma lista de opções varia dependendo do campo.

Para modificar a lista de opções para a maioria dos campos de cadeia de caracteres ou inteiros em um formulário de item de trabalho, edite a definição WIT. Por exemplo, para adicionar um campo Resolução personalizado e uma lista de opções, especifique o código XML conforme mostrado.

Campo personalizado e lista de opções
Lista de opções personalizada

<FIELD name="Resolution" refname="MyCompany.Resolution" type="String">    
<ALLOWEDVALUES>
<LISTITEM value="By Design" />
<LISTITEM value="Duplicate" />
<LISTITEM value="External" />
<LISTITEM value="Fixed" />
<LISTITEM value="Not Repro" />
<LISTITEM value="Postponed" />
<LISTITEM value="Won't Fix" />
</ALLOWEDVALUES>
</FIELD>

As regras suportam a combinação de listas, a restrição a quem uma lista se aplica e a definição de condições sobre quando uma lista aparece no formulário de item de trabalho. As regras controlam se uma lista de distribuição é expandida para mostrar seus membros individuais ou se uma lista é filtrada usando os atributos opcionais expanditems e filteritems . Use listas globais para minimizar o trabalho necessário para atualizar uma lista compartilhada entre WITs ou projetos.

Quando você usa uma lista em vários WITs ou em vários projetos, mantê-la como uma lista global minimiza seus requisitos de manutenção. Além disso, se você precisar que partes de listas apareçam como diferentes em WITs ou projetos, você pode definir uma lista global para parte de uma lista de opções. Consulte Definir listas de opções e Definir listas globais.

Adicionar regras a um campo

Para adicionar um campo personalizado ou adicionar regras a um campo, edite a definição WIT. Você pode limitar as regras a serem aplicadas a usuários ou grupos específicos. A maioria das regras suporta os atributos a favor ou não para focar a quem a regra se aplica e a quem não se aplica.

Por exemplo, com o trecho de código a seguir, você pode impor a regra de que apenas os membros da Equipe de Gerenciamento, um grupo do TFS definido pelo cliente, podem modificar o campo Classificação da Pilha depois que um item de trabalho for criado.

<FIELD name="Stack Rank" refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension">  
   <FROZEN not="[project]\Management Team" />  
   <HELPTEXT>Work first on items with lower-valued stack rank. Set in triage.</HELPTEXT>
</FIELD>  

Você aplica regras para realizar as seguintes ações:

Para realizar esta ação: Use este elemento XML:
Especifique uma dica de ferramenta. TEXTO DE AJUDA
Qualifique o valor que um campo pode ter. CANNOTLOSEVALUE, EMPTY, FROZEN, NOTSAMEAS, READONLYe REQUIRED
Copie um valor ou especifique um padrão. COPY, DEFAULT e SERVERDEFAULT
Restringir quem pode modificar um campo. VALIDUSER, para e não atributos de regra de campo
Impor a correspondência de padrões em um campo de cadeia de caracteres. CORRESPONDÊNCIA
Aplique condicionalmente regras com base em valores em outros campos. WHEN, WHENNOT, WHENCHANGED e WHENNOTCHANGED

Os campos do sistema, cujos nomes começam todos com o prefixo "Sistema" (por exemplo, System.ID), são limitados em termos das regras que você pode aplicar a eles. Por exemplo, você não pode copiar ou definir como campos vazios usados para controlar quem criou, alterou ou fechou um item de trabalho ou campos de data e hora usados pelo sistema.

Para obter mais informações sobre como aplicar regras e restrições de campo, consulte Avaliação de regras e regras.

Para adicionar um campo personalizado

Para adicionar um campo personalizado, edite a definição WIT para adicionar um elemento FIELD na seção FIELDS e um elemento Control na seção FORM .

  1. Exporte o arquivo de definição WIT com base no modelo de processo usado.

  2. Localize a seção do arquivo XML que começa com FIELDS.

  3. Adicione o FIELD elemento que especifica o nome do campo personalizado a ser adicionado. Você deve especificar os seguintes atributos necessários: amigável name, refname (nome de referência) e type. Para obter mais informações, consulte Referência do elemento FIELD (Definition).

    O código a seguir especifica o campo personalizado, Requestor, com um nome de referência e FabrikamFiber.MyTeam.Requestor uma lista de opções de valores permitidos, com o valor padrão de Customer.

    <FIELD name="Requestor" refname="FabrikamFiber.MyTeam.Requestor" type="String" reportable="Dimension">
       <ALLOWEDVALUES>
          <LISTITEM value="Customer" />
          <LISTITEM value="Executive Management" />
          <LISTITEM value="Other" />
          <LISTITEM value="Support" />
          <LISTITEM value="Team" />
          <LISTITEM value="Technicians" />
          <DEFAULTVALUE value="Customer" />
        </ALLOWEDVALUES>
    </FIELD>
    

    Gorjeta

    Os elementos dentro da lista sempre aparecem em ordem alfanumérica, independentemente de como você os insere no arquivo de definição XML. O Nome de Referência, ou refname, é o nome programático do campo. Todas as outras regras devem referir-se ao refname. Para obter mais informações, consulte Restrições e convenções de nomenclatura.

  4. Adicione o Control elemento dentro da FORM seção para que o campo personalizado apareça no formulário dentro do grupo de elementos onde você deseja que ele apareça.

    Por exemplo, o trecho de código a seguir adiciona o campo Solicitante para aparecer abaixo do campo Motivo no formulário de item de trabalho.

    <Column PercentWidth="50">
       <Group Label="Status">
          <Column PercentWidth="100">
             <Control FieldName="System.AssignedTo" Type="FieldControl" Label="Assi&amp;gned To:" LabelPosition="Left" />
             <Control FieldName="System.State" Type="FieldControl" Label="&amp;State:" LabelPosition="Left" />
             <Control FieldName="System.Reason" Type="FieldControl" Label="Reason:" LabelPosition="Left" ReadOnly="True" />
             <Control FieldName="FabrikamFiber.MyTeam.Requestor" Type="FieldControl" Label="Requestor:" LabelPosition="Left" ReadOnly="True" />
          </Column>
       </Group>
    </Column>
    

    Gorjeta

    A definição de esquema para controle de trabalho define todos os elementos filho do FORM elemento como camel case e todos os outros elementos como todos em maiúsculas. Se você encontrar erros ao validar seus arquivos de definição de tipo, verifique a estrutura de casos de seus elementos. Além disso, a estrutura de maiúsculas e minúsculas das tags de abertura e fechamento deve corresponder de acordo com as regras da sintaxe XML. Para obter mais informações, consulte Referência de elemento XML de controle.

  5. Importe o arquivo de definição WIT de acordo com o modelo de processo usado.

  6. Abra o portal da Web ou o Team Explorer para exibir as alterações. Se o cliente já estiver aberto, atualize a página.

    A ilustração a seguir mostra que o formulário de item de trabalho para o item de lista de pendências do produto agora contém o novo campo.

    Novo campo no formulário

Para alterar o rótulo do campo em um formulário de item de trabalho

Para modificar o rótulo do campo, altere o valor atribuído ao Control atributo do elemento Label . Para remover um campo do formulário de item de trabalho, exclua o Control elemento associado ao campo.

  1. Exporte o arquivo de definição WIT de acordo com seu modelo de processo.

  2. FORM Nas seções e Layout , encontre a definição do campo que você deseja modificar. Este exemplo modifica o rótulo do campo Title :

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title" LabelPosition="Left" />  
    </Column>
    
  3. Altere o rótulo do campo para que a filial portuguesa que trabalha neste projeto específico possa ler o nome do campo Título quando trabalhar com o formulário de item de trabalho. Inclua a palavra portuguesa para título (Titulo) no campo Título.

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title (Titulo):" LabelPosition="Left" />  
    </Column>
    
  4. Importe a definição WIT modificada.

Adicionar um controle personalizado

Usando APIs REST para controlar itens de trabalho, você pode programaticamente criar, alterar e localizar bugs, tarefas e outros WITs. Você também pode criar seus próprios controles personalizados que adicionam funcionalidade a um formulário de item de trabalho.

Ou, você pode adicionar um controle personalizado que está disponível através do Visual Studio Marketplace. Por exemplo:

  • Controle de vários valores que suporta a entrada de vários valores para um campo mostrando uma lista de caixas de seleção
  • Controle de lista de seleção de cores que oferece suporte à adição de cor aos itens da lista de opções
  • Item de trabalho forma ações de um clique que fornece uma extensão de grupo com um conjunto personalizável de regras que suportam a ação de um clique.

Para adicionar um controle personalizado ao novo formulário da Web, consulte WebLayout e elementos de controle.

Alterar um atributo de um campo existente

Você usa witadmin changefield para alterar os atributos de um campo existente. Por exemplo, o comando a seguir altera o nome amigável definido para MyCompany.Type para Método de Avaliação.

witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.Type /name:"Evaluation Method"

A tabela a seguir resume os atributos que você pode alterar usando witadmin changefield.

Atributo Description
Tipo de dados Especifica o tipo de dados que o campo aceita. Em geral, não é possível alterar o tipo de dados do campo depois que ele é definido. Você pode alternar o tipo de dados de campo somente para campos do tipo HTML ou PlainText.
Nome amigável O nome amigável aparece nos menus suspensos de consultas de item de trabalho e deve ser exclusivo em todos os campos definidos em uma coleção de projetos. O nome amigável pode ser diferente do rótulo do formulário que aparece no formulário de item de trabalho.
Atributos de relatório Você pode alterar o nome do campo como ele aparece em um relatório, o nome de referência do relatório e o tipo de relatório. Você pode localizar o nome amigável do relatório.

O tipo de relatório determina se os dados do campo são gravados no banco de dados de depósito relacional, no banco de dados de depósito relacional e no cubo OLAP, ou para gerar uma soma pré-calculada de valores ao processar o cubo OLAP.

Para obter uma lista completa dos campos relatáveis padrão, consulte Referência de campos relatáveis . Para obter mais informações sobre atributos relatáveis, consulte Campos e atributos de item de trabalho, Atributos reportáveis.
Sincronização Você pode habilitar ou desabilitar a sincronização de campos de nome de pessoa com o Ative Directory.

Alterar o atributo de índice de um campo

Você pode habilitar a indexação de um campo para melhorar os tempos de resposta da consulta ao filtrar o campo. Por padrão, os seguintes campos são indexados: Atribuído a, Data de criação, Alterado por, Estado, Motivo, ID de área, ID de iteração e Tipo de item de trabalho.

Para habilitar ou desabilitar a indexação de um campo, use o comando witadmin indexfield.

Eliminar um campo

Quando você remove um campo de um tipo específico de item de trabalho, esse campo não é removido da coleção ou do servidor de banco de dados, mesmo que não seja mais referenciado por nenhum WIT. Para remover um campo, siga estes passos.

  1. Remova a definição de todas as definições WIT e de quaisquer fluxos de trabalho globais que façam referência a FIELD ela.

  2. Verifique se o campo não está em uso. Por exemplo:

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact
    
    Field: MyCompany.CustomContact
    Name: Custom Contact
    Type: String
    Reportable As: dimension
    Use: Not In Use
    Indexed: False
    
  3. Exclua o campo. Por exemplo:

    witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact
    
  4. Se o campo excluído foi reportável e seu projeto usa o SQL Server Reporting Services, recrie o data warehouse para limpar o campo antigo e seus valores.

Para obter mais informações, consulte Gerenciar campos de item de trabalho.

Campos de teste, compilação e controle de versão

Vários tipos de item de trabalho contêm campos que fornecem informações geradas por processos automatizados que se integram com Team Foundation Build, Microsoft Test Manager e controle de versão do Team Foundation. Para adicionar um desses campos aos seus WITs personalizados, edite a definição de WIT de acordo com as etapas descritas anteriormente neste tópico.

Por exemplo, você pode adicionar os campos Encontrado em e Integrado na compilação que aparecem nas definições de tipo para bugs. Esses campos associam bugs às compilações onde foram encontrados ou corrigidos. Você pode usar o trecho de código a seguir para adicionar esses campos a uma definição de tipo de item de trabalho.

<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
    <HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
</FIELD>
<FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
    <HELPTEXT>Product build number this bug was fixed in</HELPTEXT>
</FIELD>

Para obter mais informações, consulte Consulta baseada em campos de integração de compilação e teste.

Nomes de campos e relatórios

Você pode adicionar campos ou alterar os atributos de campos existentes para dar suporte a relatórios. Ao adicionar ou alterar campos, você deve nomeá-los sistematicamente para que possa encontrar o campo no cubo do Analysis Services porque os campos são agrupados logicamente em pastas. Para obter mais informações, consulte Adicionar ou modificar campos de item de trabalho para dar suporte a relatórios.

Este artigo abordou como adicionar e personalizar campos para XML hospedado e modelos de processo XML local. Para obter informações sobre como adicionar e personalizar tipos de item de trabalho para modelos de processo XML hospedado e XML local, consulte Adicionar ou modificar um tipo de item de trabalho. Para o modelo de processo de herança, consulte Personalizar um processo.

Outros tópicos ou recursos relacionados: