Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure DevOps Server | Servidor Azure DevOps 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 em um item de trabalho.
Observação
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 acompanhar mais dados. Por exemplo, você pode personalizar uma lista de seleção em um menu suspenso, definir um valor padrão ou restringir os valores que um campo pode aceitar.
As listas de seleção são definidas de maneiras diferentes, 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 de WIT | Alteração de linha de comando (processo XML local) |
|---|---|
|
-
Personalizar uma lista de seleção - 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 - Excluir um campo - Indexar um campo |
Pré-requisitos
| Categoria | Requisitos |
|---|---|
| Listar campos | Tenha a 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 do Projeto ou tenha a 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 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
Os campos de item de trabalho rastreiam dados de um tipo de item de trabalho, definem critérios de filtro de consulta e geram relatórios. Qualquer elemento de dados que você deseja rastrear, exceto os 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 uma definição de fluxo de trabalho global.
Os campos de item de trabalho são mantidos no nível da coleção de projetos e adicionados nos seguintes cenários:
- Criando um projeto: campos definidos no modelo de processo selecionado para WITs ou fluxos de trabalho globais são criados. Os campos principais do sistema são incluídos automaticamente para cada tipo de item de trabalho. Para obter uma lista dos campos principais do sistema, consulte o índice de campo de item de trabalho. Para obter mais informações sobre modelos, consulte Modelos de processo.
- Importando uma definição wit: novos campos definidos na definição wit são adicionados à coleção. Saiba mais na referência de elementos XML do All WITD.
- 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 item de trabalho. Consulte Personalizar o 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 locais e relatórios.
Para adicionar ou personalizar um campo, edite o conteúdo XML da definição wit. Defina cada campo usando um elemento FIELD na seção FIELDS . Para obter mais informações, consulte a 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, adicione ou modifique as regras associadas ao campo em uma definição de WIT.
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.
Para rastrear 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 de WITs. Para obter detalhes, consulte o í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 aparece como uma caixa de seleção no formulário.
Personalizar uma lista de seleção
As listas de seleção são valores enumerados exibidos em menus suspensos em formulários de item de trabalho e na coluna Valor do editor de consultas. Para personalizar uma lista de seleção para a maioria dos campos de texto ou inteiros, edite a definição WIT. Por exemplo, use o XML a seguir para adicionar um campo de Resolução personalizado com uma lista de seleção.
Campo personalizado e lista de seleção
<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 que você combine listas, restrinja quem pode acessar uma lista e defina condições para quando uma lista aparecer no formulário do 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 listas compartilhadas. Se partes de uma lista precisarem ser diferentes entre WITs ou projetos, você poderá definir uma lista global para partes específicas de uma lista de seleção. Para obter mais informações, consulte Definir listas de seleção 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 a quem exclui.
Por exemplo, o snippet de código a seguir impõe uma regra que somente os membros da Equipe de Gerenciamento, um grupo definido sob medida, podem modificar o campo Stack Rank após a criação de um item de trabalho:
<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 obter 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. | COPY, DEFAULT, SERVERDEFAULT |
| Restringir quem pode modificar um campo. | VALIDUSER, pois, não |
| Imponha a correspondência de padrões para campos de cadeia de caracteres. | FÓSFORO |
| Aplique regras condicionalmente com base em outros valores de campo. | QUANDO, WHENNOT, WHENCHANGED, WHENNOTCHANGED |
Os campos do sistema, identificados pelo prefixo "System", por exemplo, System.ID, permitem a personalização de regra limitada. Por exemplo, você não pode copiar ou limpar campos que rastreiam quem criou, alterou ou fechou um item de trabalho ou campos de data e hora gerenciados pelo sistema.
Para obter detalhes sobre regras e restrições de campo, consulte Regras e avaliação de regra.
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 .
Exporte o arquivo de definição de WIT com base no modelo de processo usado.
Localize a seção do arquivo XML que começa com
FIELDS.Adicione o
FIELDelemento que especifica o nome do campo personalizado a ser adicionado. Você deve especificar os seguintes atributos obrigatórios: amigávelname,refname(nome de referência) etype. 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.Requestoruma 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 aorefname. Para saber mais, confira Convenções e restrições de nomenclatura.Adicione o
Controlelemento dentro daFORMseçã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&gned To:" LabelPosition="Left" /> <Control FieldName="System.State" Type="FieldControl" Label="&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
Na definição de esquema para acompanhamento de trabalho, todos os elementos filho do elemento
FORMdevem usar camel case, enquanto todos os outros elementos devem estar em letras maiúsculas. Verifique se a estrutura de maiúsculas e minúsculas das marcas de abertura e fechamento 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.Importe o arquivo de definição WIT de acordo com o modelo de processo usado.
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.
Alterar o rótulo de 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.
Exporte o arquivo de definição WIT de acordo com seu modelo de processo.
Nas
FORMseções eLayout, 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>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>Importe a definição de WIT modificada.
Adicionar um controle personalizado
Usando as APIs REST para acompanhar itens de trabalho, você pode criar, atualizar e localizar bugs, tarefas e outros tipos de item de trabalho (WITs) programaticamente. 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:
- Controle de vários valores: permite a entrada de vários valores para um campo usando uma lista de caixas de seleção.
- Controle de lista de seleção de cores: habilita a adição de cores aos itens da lista de seleção.
- Ações de seleção única do formulário de item de trabalho: fornece um conjunto personalizável de regras para ações de seleção única.
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 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, 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
Habilite a indexação de um campo para melhorar os tempos de resposta da consulta ao filtrar. 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 uma WIT específica, o campo permanece na coleção ou no servidor de banco de dados, mesmo que ele não seja mais referenciado por qualquer WIT. Para remover completamente um campo, siga estas etapas.
Remova a
FIELDdefinição de todas as definições de WIT e de todos os fluxos de trabalho globais que fazem referência a ela.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: FalseExclua o campo. Por exemplo:
witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContactSe 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
Determinados tipos de item de trabalho incluem campos gerados 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 esses campos aos wits (tipos de item de trabalho) personalizados, edite a definição wit seguindo as etapas descritas anteriormente.
Por exemplo, você pode adicionar os campos Encontrados em e Integrados em Compilação, que associam bugs às compilações em que foram encontrados ou corrigidos. Utilize 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 com base nos campos de integração de build e teste.