Adicionar ou modificar um campo para acompanhar 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 está associado a um WIT (tipo de item de trabalho), e os dados que você pode rastrear correspondem aos campos atribuídos ao WIT. Você atualiza os dados de um item de trabalho modificando o campo de dados em um item de trabalho.

Observação

Para Azure DevOps Services 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 seleção em um menu suspenso ou adicionar uma regra para especificar um valor padrão ou restringir o valor que ela pode assumir.

Nem todas as listas de seleção são definidas da mesma maneira. Algumas listas são definidas por meio da interface do usuário, do fluxo de trabalho de um WIT ou da adição de 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 do 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 rastrear 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 para 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 projetos. Você adiciona campos ao executar uma das seguintes tarefas:

  • Crie um projeto. Todos os campos definidos nas definições para tipos de item de trabalho ou fluxo de trabalho global e 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 de 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 compartilhados por vários tipos de itens de trabalho. Para obter mais informações, consulte Personalizar o 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, renomear e excluir campos existentes. No entanto, você incorre em determinados custos ao fazer esses tipos de alterações, especificamente para o servidor local e relatórios.

Para adicionar ou personalizar um campo para uma coleção, modifique o conteúdo XML para a definição de WIT. Defina cada campo por meio de um elemento FIELD na seção FIELDS da definição de WIT. Para obter informações sobre a estrutura e o local desses arquivos, consulte Referência de todos os elementos XML FIELD.

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, adicione ou modifique as regras associadas ao campo em uma definição de 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.

Dica

Com o witadmin, você pode importar e exportar arquivos de definição. Outras ferramentas que você pode usar incluem o Editor de Processos (exige 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ê deseja usar para controlar dados deve ser adicionado ao arquivo de definição WIT. Isso é verdadeiro para todos os campos, exceto o sistema (campos cujo nome de referência começa com System.). Todos os campos do sistema são definidos para todos os WITs, independentemente de você incluí-los ou não na definição do 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 de WIT.

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

Em seguida, adicione a seguinte sintaxe 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 seleção

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

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

Campo personalizado e lista de seleção
Lista de seleção 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 dão suporte à combinação de listas, restringindo a quem uma lista se aplica e definindo 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 das listas apareçam como diferentes entre WITs ou projetos, poderá definir uma lista global para parte de uma lista de seleção. Consulte Definir listas de seleção e Definir listas globais.

Adicionar regras a um campo

Para adicionar um campo personalizado ou adicionar regras a um campo, edite a definição de WIT. Você pode limitar as regras a serem aplicadas a usuários ou grupos específicos. A maioria das regras dá suporte aos atributos for or not para se concentrar em quem a regra se aplica e a quem não se aplica.

Por exemplo, com o snippet de código a seguir, você pode impor a regra de que somente membros da Equipe de Gerenciamento, um grupo TFS definido pelo cliente, podem modificar o campo Classificação de 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, READONLY e 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
Imponha a correspondência de padrões em um campo de string. MATCH
Aplique condicionalmente regras com base em valores em outros campos. QUANDO, QUANDONÃO, QUANDO alterado e QUANDONÃOALTERADO

Os campos do sistema, cujos nomes começam 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 rastrear 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 Regras e avaliação de regras.

Para adicionar um campo personalizado

Para adicionar um campo personalizado, edite a definição de 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 de 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 obrigatórios: amigável name, refname (nome de referência) e type. Para obter mais informações, consulte Referência do elemento FIELD (Definição).

    O código a seguir especifica o campo personalizado, Requestor, com um nome de referência e FabrikamFiber.MyTeam.Requestor uma lista de seleção 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>
    

    Dica

    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 se referir ao refname. Para saber mais, confira Convenções e restriçõ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 em que você deseja que ele apareça.

    Por exemplo, o snippet 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>
    

    Dica

    A definição de esquema para acompanhamento de trabalho define todos os elementos filho do FORM elemento como maiúsculas e minúsculas 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 maiúsculas e minúsculas de seus elementos. Além disso, a estrutura de maiúsculas e minúsculas das marcas de abertura e fechamento devem corresponder às 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 atributo do Control 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. Nas FORM seções e Layout , encontre a definição do campo que você deseja modificar. Este exemplo modifica o rótulo do campo Título :

    <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 nesse projeto específico possa ler o nome do campo Título quando trabalhar com o formulário de item de trabalho. Inclua a palavra em português para título (Título) no campo Título.

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

Adicionar um controle personalizado

Usando APIs REST para acompanhar itens de trabalho, você pode criar, alterar e localizar programaticamente 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 por meio 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 opções de cores que dá suporte à adição de cores aos itens da lista de opções
  • Ações de um clique de formulário de item de trabalho que fornecem uma extensão de grupo com um conjunto personalizável de regras que dão suporte à ação de um clique.

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

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 Descrição
Tipo de dados Especifica o tipo de dados que o campo aceita. Em geral, você não pode 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 Texto Simples.
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 da 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 do warehouse relacional, no banco de dados do warehouse 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 reportáveis padrão, consulte Referência de campos reportáveis. Para obter mais informações sobre atributos reportá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 Active 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 da Área, ID da Iteração e Tipo de Item de Trabalho.

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

Excluir 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 estas etapas.

  1. Remova a FIELD definição de todas as definições de WIT e de todos os fluxos de trabalho globais que fazem referência a 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 SQL Server Reporting Services, recompile 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 ao Team Foundation Build, ao Microsoft Test Manager e ao controle de versão do Team Foundation. Para adicionar um desses campos aos 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 snippet 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 com base nos campos de integração de build e teste.

Nomes de campos e relatórios

Você pode adicionar campos ou alterar os atributos de campos existentes para oferecer suporte a relatórios. Ao adicionar ou alterar campos, você deve nomeá-los sistematicamente para que possa localizar o campo no cubo do Analysis Services, pois 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 modelos de processo XML hospedado e 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: