Compartilhar via


Personalizar um processo XML hospedado

Serviços do Azure DevOps

O Azure DevOps dá suporte à adição e atualização de processos por meio de uma experiência administrativa que é um processo de importação baseado na Web. Após adicionar um processo, você pode criar um ou mais projetos a partir dele. Você pode atualizar o processo a qualquer momento importando-o novamente. As alterações feitas no modelo do processo são, a seguir, aplicadas a todos os projetos que usam o processo.

Importante

Com o modelo de processo XML Hospedado, você personaliza o acompanhamento de trabalho atualizando arquivos de definição XML selecionados de um modelo de processo. Esse recurso só está disponível quando os dados são migrados para o Azure DevOps Services usando a Ferramenta de Migração de Dados do Azure DevOps. Se você usar o modelo de processo herança, poderá personalizar seu acompanhamento de trabalho por meio da interface do usuário criando um processo de Herança. Se você usar o modelo de processo XML local, poderá personalizar um modelo de processo, ver Carregar ou baixar um modelo de processo e personalizar um modelo de processo

Para obter mais informações sobre personalização e modelos de processo, consulte Personalizar o acompanhamento de trabalho.

Um processo é um arquivo zip que contém um conjunto de arquivos interdependentes. Esses arquivos definem os blocos de construção do sistema de acompanhamento de item de trabalho e outros subsistemas no Azure DevOps. Alguns blocos de construção atualizam projetos existentes, enquanto outros se aplicam apenas a novos projetos. Consulte a tabela a seguir para obter a lista completa de blocos de construção:

Usado ao importar/atualizar um processo Usado ao criar um novo projeto Substituído por padrões do sistema Ignorado
Acompanhamento de Item de Trabalho Áreas e Iterações Build Mapeamentos de projetos da Microsoft
WITs (tipos de item de trabalho) Gerenciamento de testes Lab Management Relatórios
Categorias Itens de trabalho Controle de versão Portal (Produtos do SharePoint)
Configuração do Processo Consultas de Item de Trabalho

Pré-requisitos

Para obter diretrizes sobre como personalizar os Conselhos do Azure para se alinharem aos seus requisitos de negócios específicos, consulte Configurar e personalizar os Quadros do Azure.

Categoria Requisitos
Permissões – Para criar, excluir ou editar um processo: membro do grupo Administradores de Coleção de Projetos ou permissões específicas no nível da coleção Criar processo, Excluir processo, Editar processo, ou Excluir um campo da organização definido como Permitir. Para obter mais informações, consulte Personalizar um processo herdado.
– Para atualizar os painéis: Administrador da equipe ou um membro do grupo de Administradores do projeto.
Acesso - Mesmo que você tenha acesso Básico ou inferior, ainda poderá alterar um processo se alguém lhe der permissão.
- Para atualizar e alterar os tipos de itens de seus trabalhos existentes: Membro do projeto.
Modelo de processo do projeto - É preciso ter o Modelo de processo de herança para a coleção de projetos que contém o projeto.
– Para migrar dados para o Azure DevOps Services, use o Serviço de Importação de Banco de Dados do Team Foundation Server.
Conhecimento - Familiaridade com os modelos de personalização e processo.

Personalizar um processo

Personalizar um processo é mais eficiente quando você começa com um processo bem definido em vez de criar um do zero.

Se você estiver atualizando um processo existente usado anteriormente com o Azure DevOps Server, verifique se ele segue as restrições necessárias para importação de modelo para evitar erros de validação durante o processo de importação.

Exportar e importar um processo

Execute as seguintes etapas para importar ou exportar um processo:

  1. Entre em sua organização (https://dev.azure.com/{Your_Organization}).

  2. Selecione Configurações da organização.

    A captura de tela mostra o botão de configurações da organização realçado.

  3. Selecione Processo.

    A captura de tela mostra as configurações da organização, página de processos.

    Importante

    Se você não vir Processo, estará trabalhando em uma versão anterior onde a página Processo não tem suporte. Use os recursos com suporte para o modelo de processo XML local.

  4. Selecione as reticências (...) para abrir o menu de atalho para o processo XML Hospedado que você deseja exportar. Você pode exportar apenas processos XML Hospedados.

    Opção de menu do processo Exportar XML Hospedado da página > de processo

    Salve o arquivo zip e extraia todos os arquivos dele.

  5. Renomeie o processo no arquivo ProcessTemplate.xml localizado no diretório raiz.

    Nomeie o processo para diferenciá-lo dos existentes.

    <name>MyCompany Agile Process </name>

    Altere o tipo de versão e altere os números principais e secundários. Forneça um GUID distinto para o tipo, como neste exemplo:

    <version type="F50EFC58-C2FC-4C66-9814-E395D90778A3" major="1" minor="1"/>

  6. Aplique personalizações suportadas.

  7. Crie um arquivo zip de todos os arquivos e pastas no diretório raiz.

  8. Importe o arquivo zip do seu processo personalizado.

Personalizações com suporte

Você pode aplicar as seguintes personalizações ao seu processo:

Diferenças

O Azure DevOps Services e o Azure DevOps Server usam modelos diferentes para projetos e processos relacionados:

  • No Azure DevOps Server, os modelos de processo servem como pontos de partida para projetos e a personalização tem como escopo projetos individuais.
  • No Azure DevOps Services, os processos são compartilhados em vários projetos e servem como o escopo para personalização.

A estrutura e a sintaxe para definir modelos de processo são em sua maioria consistentes, com apenas pequenas diferenças entre modelos projetados para o Azure DevOps Services e o Azure DevOps Server.

Observação

A migração do XML Hospedado para o modelo herdado só tem suporte no Azure DevOps Services, não no Servidor do Azure DevOps.

Restrições

Você pode importar até 32 processos para o Azure DevOps Services. Seus processos personalizados devem estar em conformidade com todas as regras resumidas a seguir. Caso contrário, as mensagens de erro de validação poderão aparecer após a importação.

Personalizações sem suporte e arquivos de plug-in não referenciados

Qualquer referência aos seguintes objetos em qualquer um dos arquivos de definição XML resulta em um erro de validação após a importação:

  • Controles personalizados em formulários de item de trabalho
  • Tipos de link personalizados
  • Fluxo de trabalho global
  • Suporte a campo de equipe
  • Regras Para e Não
  • Suporte à regra de correspondência

Os seguintes plug-ins e seus arquivos associados não são usados na definição de um processo nem usados para atualizar projetos existentes: no entanto, eles são usados para criar objetos ou artefatos quando você cria um novo projeto.

  • Classificação
  • Consultas de item de trabalho, definidas usando a sintaxe WIQL (Work Item Query Language)
  • Gerenciamento de testes
  • Itens de trabalho

Observação

O comprimento wiql não deve exceder 32 K caracteres. O sistema não permite que você crie ou execute consultas que excedam esse comprimento.

Os seguintes plug-ins e seus arquivos associados são substituídos por padrões do sistema:

  • Build
  • Grupos e Permissões
  • Laboratório
  • Controle de versão

Os seguintes plug-ins e seus arquivos associados são ignorados:

  • Mapeamentos de projetos da Microsoft
  • Relatórios
  • Windows SharePoint Services

Não há suporte para plug-ins personalizados.

Limites do objeto

Ao personalizar um modelo de processo para importação, limite o número de objetos definidos conforme especificado em Limites de objeto de acompanhamento de trabalho.

Modelo do processo

Seu arquivo ProcessTemplate.xml deve estar em conformidade com a sintaxe e as regras atendem às seguintes condições:

  • Limita a 64 o número de WITs definidos
  • Contém apenas um arquivo de definição Categories.xml
  • Contém apenas um arquivo de definição ProcessConfiguration.xml
  • Usa nomes amigáveis exclusivos em todos os campos e definições de WIT

Além disso, seu processo deve passar pelas seguintes verificações de validação:

  • Os nomes dos processos são exclusivos e contêm no máximo 155 caracteres Unicode.
    • Um modelo com o mesmo nome e GUID de versão de um processo existente substitui esse processo.
    • Um modelo com o mesmo nome, mas com um GUID de versão diferente, gera um erro.
    • Os nomes de processo não podem conter os seguintes caracteres especiais: . , ; ' ` : / \ * | ? " & % $ ! + = ( ) [ ] { } < >.
      Consulte restrições de nomenclatura para obter mais restrições.
  • As pastas de processos não contêm arquivos .exe. Mesmo que você consiga importar um processo que contenha um arquivo .exe, a criação do projeto falha.
  • O tamanho total do processo é de no máximo 2 GB. Caso contrário, a criação do projeto falha.

Configuração do processo

O arquivo de definição ProcessConfiguration.xml deve estar em conformidade com a sintaxe e as regras descritas na Referência do elemento XML ProcessConfiguration. Além disso, deve atender às seguintes condições:

  • Especifica todos os TypeFields elementos
  • Está limitado a cinco listas de pendências do portfólio
  • Contém apenas uma lista de pendências de portfólio órfã.
  • Especifica apenas uma lista de pendências do portfólio pai para cada lista de pendências do portfólio subordinado
  • Contém os mapeamentos necessários de estado do fluxo de trabalho para metaestado e não faz referência a metaestados não suportados

Categorias

O arquivo de definição Categories.xml deve estar em conformidade com a sintaxe e as regras descritas nas Referências de elementos XML de categorias. Além disso, deve atender às seguintes condições:

  • É limitado a 32 categorias
  • Define todas as categorias referenciadas no arquivo de definição ProcessConfiguration.xml

Tipos de item de trabalho

Um WITD elemento e seus elementos filho devem estar em conformidade com a sintaxe e as regras descritas na referência do elemento XML WITD. Além disso, deve atender às seguintes condições:

  • Há no máximo 1.024 campos em um único WIT e 1.024 campos em todos os WITs.
  • O nome amigável e o atributo necessário refname atribuídos a um WIT são exclusivos dentro do conjunto de arquivos de definição WIT.
  • O valor de atributo necessário refname não contém caracteres não permitidos ou usa os namespaces não permitidos System.Name e Microsoft.Name.
  • Os nomes de referência contêm pelo menos um ponto (.), e todos os outros caracteres são letras sem espaços.
  • O elemento WITD contém um elemento FORM que define um elemento WebLayout em conformidade com a sintaxe especificada nos elementos WebLayout e Controle.

Campos de item de trabalho

Um FIELDS elemento e seus elementos filho devem estar em conformidade com a sintaxe e as regras descritas na referência do elemento FIELD XML. Além disso, deve atender às seguintes condições:

  • O nome amigável e o atributo necessário refname atribuídos a um WIT são exclusivos dentro do conjunto de arquivos de definição WIT.
  • O valor de atributo necessário refname não contém caracteres não permitidos ou usa os namespaces não permitidos System.Name e Microsoft.Name.
  • Os nomes de referência contêm pelo menos um ponto (.), e todos os outros caracteres são letras sem espaços.

Um elemento FIELD e seus elementos filhos podem conter um elemento GLOBALLIST.

Restrições de limites

  • Um FIELDS elemento é limitado a 1.024 campos.
  • Um tipo de item de trabalho é limitado a 64 campos de nome de pessoa. Um campo de nome de pessoa é aquele com o atributo e o valor syncnamechanges=true.
  • Um ALLOWEDVALUES elemento ou um SUGGESTEDVALUES elemento é limitado a 512 LISTITEM elementos.
  • Um campo é limitado a 1.024 regras.

Campos obrigatórios

Categoria Campos a serem especificados
Pendências de configuração de processo Campos usados para os atributos type=Team e valores type=Order
Pendências regulares ou pendências do portfólio Campo usado para type=Effort
TaskBacklog - Campo usado para type=RemainingWork
- Campo usado para a regra type=Activity
- ALLOWEDVALUES para o campo usado para type=Activity

Restrições de regras

Restrição Detalhes
Os elementos de regra de campo não podem especificar os atributos para e não . Esses atributos não são permitidos em elementos de regra de campo.
Elementos FIELD não podem conter os elementos da regra filho CANNOTLOSEVALUE, NOTSAMEAS, MATCH e PROHIBITEDVALUES. Não há suporte para esses elementos de regra filho nos elementos FIELD.
FIELD definições para System.Name campos não podem conter regras de campo, exceto para campos específicos. Somente determinados campos podem conter regras específicas, conforme descrito neste artigo.
System.Title Pode conter as regras REQUIRED e DEFAULT.
System.Description Pode conter as regras REQUIRED e DEFAULT.
System.AssignedTo Pode conter as regras REQUIRED, DEFAULTe ALLOWEXISTINGVALUEVALIDUSER.
System.ChangedBy Pode conter as regras REQUIRED, DEFAULTe ALLOWEXISTINGVALUEVALIDUSER.

Nomes e atributos consistentes

Dentro de um processo ou de uma coleção de projetos, name, type e outros atributos que um elemento FIELD define devem ser os mesmos em todas as definições WIT.

Campos de identidade

Os campos de identidade correspondem aos campos usados para conter nomes de contas, usuários ou grupos. Os seguintes campos do sistema principal são codificados como campos de identidade:

Nome do campo Nome da referência
Atribuído a System.AssignedTo
Autorizado como System.AuthorizedAs
Alterado por System.ChangedBy
Criado por System.CreatedBy
Ativado por Microsoft.AzureDevOps.Common.ActivatedBy
Fechado por Microsoft.AzureDevOps.Common.ClosedBy
Resolvido por Microsoft.AzureDevOps.Common.ResolvedBy
Adicionar um campo de identidade personalizado

Um campo de cadeia de caracteres é reconhecido como um campo de identidade quando você especifica o atributo syncnamechanges como True.

Restrições de regras em campos de identidade

Para a versão atual da importação de processos, não especifique nenhuma das regras a seguir dentro de uma definição de FIELD.

  • SUGGESTEDVALUES
  • Regras que contêm valores não identidade.
Exemplo correto

Para limitar os nomes de conta válidos em um campo de identidade, especifique o elemento VALIDUSER com um atributo de nome de grupo.

    <FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
        <ALLOWEXISTINGVALUE />
        <VALIDUSER group="[PROJECT]\Program Manager Group" />
        <HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
    </FIELD>

Antes de importar o processo, certifique-se de ter criado o grupo nos projetos que o processo atualiza.

Exemplo incorreto

O seguinte exemplo não é válido porque especifica:

  • Um elemento ALLOWEDVALUES.
  • Um elemento DEFAULT que especifica a cadeia de caracteres de não identidade value="Not Assigned".
    <FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
        <ALLOWEXISTINGVALUE />
        <ALLOWEDVALUES>
          <LISTITEM value="[PROJECT]\Program Manager Group" />
          <LISTITEM value="Not Assigned" />
        </ALLOWEDVALUES>
        <DEFAULT from="value" value="Not Assigned" />
        <VALIDUSER />
        <HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
    </FIELD>

Workflow

Um WORKFLOW elemento e seus elementos filho devem estar em conformidade com a sintaxe e as regras descritas na referência do elemento WORKFLOW XML. Além disso, deve atender às seguintes condições:

  • Limita cada WIT a 16 estados de fluxo de trabalho
  • Define todos os estados do fluxo de trabalho que são mapeados para metaestados no arquivo de definição ProcessConfiguration.xml
  • Define uma transição entre todos os estados do fluxo de trabalho mapeados para a categoria de estado "Proposta" e os estados do fluxo de trabalho mapeados para a categoria de estado "Em andamento".
  • Define uma transição entre todos os estados de fluxo de trabalho mapeados para a categoria de estado "InProgress" e os estados de fluxo de trabalho mapeados para a categoria de estado "Completo"

Para obter uma descrição da categoria de estado e mapeamentos, consulte Estados de fluxo de trabalho e categorias de estado.

Listas globais

Para o modelo de processo XML Hospedado, os seguintes limites são colocados na importação da lista global:

  • Há no máximo 64 listas globais
  • Há no máximo 1.024 itens por lista
  • Aproximadamente 10.000 itens podem ser definidos no total entre todas as listas globais especificadas em todos os WITs

Layout de formulários

Um FORM elemento e seus elementos filho devem estar em conformidade com a sintaxe e as regras descritas na referência do elemento FORM XML.

Um Control elemento não pode especificar um controle personalizado. Não há suporte para controles personalizados.