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 dados para um item de trabalho modificando o campo de dados dentro de um item de trabalho.

Observação

Para os Serviços de DevOps do Azure ou para coleções de projetos que usam o modelo de processo Herdados, 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 controle 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 tomar.

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 em nível de 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 sua 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 da 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

Use campos de item de trabalho para controlar dados de 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 os 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. Adicionar campos quando você executa 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 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 do WITD.

  • Importar 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 ao fazer esses tipos de alterações, especificamente para servidores locais 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 por meio 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 Todos os elementos XML de FIELD referência.

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 dentro de uma definição WIT.

Resumo dos atributos de campo 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, exceto campos do sistema (campos cujo nome de referência começa com System.). Todos os campos Sistema são definidos para todos os WITs, independentemente de você incluí-los ou não na definição de WIT. Para saber mais sobre cada campo, consulte Índice de campo de item de trabalho.

Adicionar uma caixa de seleção ou um 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 seguinte sintaxe dentro da seção FORMULÁRIO 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 seleção varia dependendo do campo.

Para modificar a lista de seleção da 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 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 oferecem suporte à combinação de listas, à restrição a quem uma lista se aplica e à 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 os requisitos de manutenção. Além disso, se você precisar que partes de listas apareçam como diferentes entre WITs ou projetos, você pode 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 oferece suporte aos atributos for ou not 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 somente membros da Equipe de Gerenciamento, um grupo do 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
Impor correspondência de padrão em um campo de cadeia de caracteres. MATCH
Aplicar condicionalmente regras com base em valores em outros campos. WHEN, WHENNOT, WHENCHANGEDe WHENNOTCHANGED

Os campos do sistema, cujos nomes começam com o prefixo "System" (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-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 WIT para adicionar um elemento FIELD dentro da seção FIELDS e um elemento Control dentro da 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: friendly 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, Solicitante, com um nome de FabrikamFiber.MyTeam.Requestor referência e uma lista de seleção de valores permitidos, com o valor padrão de Cliente.

    <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 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>
    

    Dica

    A definição de esquema para controle de trabalho define todos os elementos filho do elemento como maiúsculas e minúsculas FORM 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 do 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. FORM Nas seções e Layout , localize 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 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 em português 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 por meio do Visual Studio Marketplace. Por exemplo:

  • Controle de vários valores que oferece suporte à 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 oferece suporte à adição de cores a itens da lista de seleção
  • Ações de um clique do formulário de item de trabalho que fornece uma extensão de grupo com um conjunto personalizável de regras que oferecem suporte à ação de um clique.

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

Alterar um atributo de um campo existente

Use 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 o campo de alteração witadmin.

Atributo Descrição
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 das 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 reportá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 relatáveis.
Sincronização Você pode habilitar ou desabilitar a sincronização para 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 no 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 WIT e de quaisquer fluxos de trabalho globais que façam 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 for relatável e seu projeto usar 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 que são geradas por processos automatizados que se integram com Team Foundation Build, Microsoft Test Manager e controle de versão 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 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 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 saber mais, consulte Adicionar ou modificar campos de item de trabalho para oferecer 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: