Partilhar via


Adicionar ou modificar um campo para acompanhamento de trabalho

Azure DevOps Server | Azure DevOps Server 2022

Seu projeto inclui 100 ou mais campos de dados, dependendo do processo usado para criá-lo, como Agile, Basic, Scrum ou CMMI. Cada item de trabalho está vinculado a um tipo de item de trabalho (WIT), e os dados que você pode rastrear correspondem aos campos atribuídos a esse WIT. Você pode atualizar os dados do item de trabalho modificando o campo de dados dentro de um item de trabalho.

Nota

Se você estiver usando o modelo de processo herdado, consulte Adicionar um campo personalizado a um tipo de item de trabalho.

Você pode modificar campos existentes ou adicionar campos personalizados para controlar mais dados. Por exemplo, você pode personalizar uma lista de opções em um menu suspenso, definir um valor padrão ou restringir os valores que um campo pode aceitar.

As listas de opções são definidas de diferentes maneiras, como por meio da interface do usuário, fluxos de trabalho WIT ou adicionando contas de usuário a um projeto, conforme mostrado na tabela a seguir.

Definição WIT Alteração da linha de comando (processo XML local)
- Personalizar uma lista de opções
- Adicionar regras a um campo
- Adicionar um campo personalizado
- Alterar o rótulo do campo no formulário
- Adicionar um controle personalizado
- Listar campos
- Alterar um atributo de campo
- Eliminar um campo
- Indexar um campo

Pré-requisitos

Categoria Requisitos
Listar campos Tenha sua permissão Exibir informações no nível do projeto para o projeto na coleção definida como Permitir.
Adicionar ou personalizar um campo Seja membro do grupo Administradores de Projeto ou tenha sua permissão Editar informações no nível do projeto definida como Permitir.
Excluir, renomear ou alterar um campo Seja 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

Os campos de item de trabalho controlam dados para um tipo de item de trabalho, definem critérios de filtro de consulta e geram relatórios. Qualquer elemento de dados que você deseja controlar, exceto campos do sistema, deve ser definido como um campo de item de trabalho. Você pode definir campos dentro de um tipo de item de trabalho (WIT) ou definição de fluxo de trabalho global.

Os campos de item de trabalho são mantidos no nível de coleção do projeto e são adicionados nos seguintes cenários:

  • Criando um projeto: os campos definidos no modelo de processo selecionado para WITs ou fluxos de trabalho globais são criados. Os campos do sistema principal são incluídos automaticamente para cada tipo de item de trabalho. Para obter uma lista de campos principais do sistema, consulte Índice de campo de item de trabalho. Para obter mais informações sobre modelos, consulte Processar modelos.
  • Importando uma definição WIT: Novos campos definidos na definição WIT são adicionados à coleção. Saiba mais em Todos os elementos XML do WITD - Referência.
  • Importando uma definição de fluxo de trabalho global: novos campos definidos no fluxo de trabalho global são adicionados à coleção. Os fluxos de trabalho globais permitem campos compartilhados em vários tipos de itens de trabalho. Consulte Personalizar fluxo de trabalho global para obter detalhes.

O conjunto completo de campos em uma coleção inclui todos os campos definidos em WITs e fluxos de trabalho globais em todos os projetos. Você pode modificar atributos, renomear ou excluir campos, mas essas alterações podem afetar servidores e relatórios locais.

Para adicionar ou personalizar um campo, edite o conteúdo XML da definição WIT. Defina cada campo usando um elemento FIELD dentro da seção FIELDS . Para obter mais informações, 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 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.

A captura de tela mostra o Resumo dos atributos e regras de campo.

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.

Para controlar dados, adicione o campo ao arquivo de definição WIT, exceto para campos do sistema, que são campos com um nome de referência começando com System.. Os campos do sistema são definidos automaticamente para todos os WITs, mesmo que não estejam incluídos na definição WIT. Para obter detalhes, 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 aparece como uma caixa de seleção no formulário.

Personalizar uma lista de opções

As listas de opções são valores enumerados exibidos em caixas de lista nos formulários de itens de trabalho e na coluna Valor do editor de consultas. Para personalizar uma lista de opções para a maioria dos campos de cadeia de caracteres ou inteiros, edite a definição WIT. Por exemplo, use o XML a seguir para adicionar um campo Resolução personalizado com uma lista de opções.

Campo personalizado e lista de opções
A captura de tela mostra uma 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 permitem combinar listas, restringir quem pode acessar uma lista e definir condições para quando uma lista aparece no formulário de item de trabalho. Você pode usar os atributos expanditems e filteritems para controlar se uma lista de distribuição mostra membros individuais ou filtra itens específicos.

Para simplificar a manutenção, use listas globais para listas compartilhadas entre WITs ou projetos. As listas globais reduzem o esforço necessário para atualizar as listas compartilhadas. Se partes de uma lista precisarem diferir entre WITs ou projetos, você poderá definir uma lista global para partes específicas de uma lista de opções. Para obter mais informações, consulte Definir listas de opções e Definir listas globais.

Adicionar regras a um campo

Para adicionar um campo personalizado ou aplicar regras a um campo, edite a definição WIT. Você pode restringir regras a usuários ou grupos específicos usando os atributos para ou não para definir a quem a regra se aplica ou exclui.

Por exemplo, o trecho de código a seguir impõe uma regra de que apenas os membros da Equipe de Gerenciamento, um grupo personalizado, podem modificar o campo Classificação de Pilha depois que um item de trabalho é 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ê pode aplicar regras a campos para realizar as seguintes ações:

Ação Elemento XML
Adicione uma dica de ferramenta a um campo. TEXTO DE AJUDA
Defina ou restrinja os valores que um campo pode ter. CANNOTLOSEVALUE,EMPTY, FROZEN, NOTSAMEAS,READONLY,REQUIRED
Copie um valor ou defina um valor padrão para um campo. COPIAR,PADRÃO,SERVERDEFAULT
Restringir quem pode modificar um campo. VALIDUSER, para, não
Imponha a correspondência de padrões para campos de cadeia de caracteres. PARTIDA
Aplique regras condicionalmente com base em outros valores de campo. QUANDO, QUANDONÃO,QUANDOALTERADO,QUANDONÃOALTERADO

Os campos do sistema, identificados pelo prefixo "Sistema", por exemplo, System.ID, permitem a personalização limitada da regra. Por exemplo, não é possível copiar ou limpar campos que rastreiam quem criou, alterou ou fechou um item de trabalho ou campos de data-hora gerenciados pelo sistema.

Para obter detalhes sobre regras e restrições de campo, consulte Avaliação de regras e regras.

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 de FabrikamFiber.MyTeam.Requestor e 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

    Na definição de esquema para rastreio de trabalho, todos os elementos filho do elemento FORM devem usar camel case, enquanto os restantes elementos deverão estar em maiúsculas. Verifique se a estrutura de casos de abertura e fechamento de tags corresponde às regras de sintaxe XML para evitar erros de validação. 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.

    A captura de tela mostra Novo campo no formulário.

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. Nas seções FORM e Layout, encontre a definição do campo que quer 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 as APIs REST para controlar itens de trabalho, você pode criar, atualizar e localizar programaticamente bugs, tarefas e outros tipos de item de trabalho (WITs). Além disso, você pode criar controles personalizados para aprimorar a funcionalidade de um formulário de item de trabalho.

Como alternativa, você pode usar controles personalizados disponíveis por meio do Visual Studio Marketplace, como:

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 Método de Avaliação.

witadmin changefield /collection:http://AdventureWorksServer:8080/ 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, 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 itens de trabalho e deve ser único entre todos os campos definidos numa coleção de projetos. O nome amigável pode ser diferente da etiqueta que aparece no formulário de item de trabalho.
Atributos de elaboração de relatórios 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 personalizar o nome amigável da função de relatórios.

O tipo de relatório determina se os dados do campo são gravados no armazém de dados relacional, tanto no armazém de dados relacional como no cubo OLAP, ou se geram 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

Habilite a indexação de um campo para melhorar os tempos de resposta da consulta durante a filtragem. 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 WIT específico, o campo permanece na coleção ou no servidor de banco de dados, mesmo que não seja mais referenciado por nenhum WIT. Para remover completamente um campo, siga estes passos.

  1. Remova a definição FIELD 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 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

Certos tipos de item de trabalho incluem campos gerados por processos automatizados que se integram com Team Foundation Build, Microsoft Test Manager e controle de versão do Team Foundation. Para adicionar esses campos aos seus tipos de item de trabalho personalizados (WITs), edite a definição de WIT seguindo as etapas descritas anteriormente.

Por exemplo, você pode adicionar os campos Encontrado em e Integrado na compilação , que associam bugs às compilações onde foram encontrados ou corrigidos. Use o seguinte trecho de código para incluir esses campos em uma definição WIT:

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