Aplicar regras aos estados do fluxo de trabalho (processo de herança)
Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019
Depois de adicionar ou modificar os estados do fluxo de trabalho para um tipo de item de trabalho, defina regras que se apliquem com base na alteração do estado do fluxo de trabalho. A adição de regras aos estados do fluxo de trabalho oferece suporte aos seguintes cenários:
- Apoiar um processo de aprovação
- Impedir que usuários não autorizados definam um estado inválido
- Tornar um campo obrigatório ou somente leitura ou outro valor com base em alterações de estado
- Restringir a transição de um estado para outro
- Restringir ou permitir transições de Estado para usuários ou grupos específicos
- Manter um processo de fluxo de trabalho controlado, suportando os requisitos de auditoria
- Automatize o fechamento de itens de trabalho pai
- Apoiar um processo de aprovação
- Impedir que usuários não autorizados definam um estado inválido
- Tornar um campo obrigatório ou somente leitura ou outro valor com base em alterações de estado
- Restringir a transição de um estado para outro
- Automatize o fechamento de itens de trabalho pai
- Apoiar um processo de aprovação
- Tornar um campo obrigatório ou somente leitura ou outro valor com base em alterações de estado
- Automatize o fechamento de itens de trabalho pai
Importante
O modelo de processo de herança está disponível para projetos configurados para suportá-lo. Se você estiver usando uma coleção mais antiga, verifique a compatibilidade do modelo de processo. Se sua coleção local estiver configurada para usar o modelo de processo XML local, você só poderá usar esse modelo de processo para personalizar a experiência de controle de trabalho. Para obter mais informações, consulte Escolher o modelo de processo para sua coleção de projetos.
Pré-requisitos
Para aplicar regras a estados de fluxo de trabalho no Azure DevOps, você precisa de permissões e níveis de acesso específicos:
Permissões:
- Seja um Administrador de Projeto para gerenciar grupos de segurança e permissões no nível do projeto, o que inclui a definição de regras para estados de fluxo de trabalho.
- Ter permissão de Controle de Item de Trabalho, que permite gerenciar a área de controle de trabalho, que pode ser concedida a membros do grupo Administradores de Projeto ou por meio de permissões específicas.
Níveis de acesso:
- Ter acesso Básico , que normalmente é suficiente para a maioria dos usuários que precisam gerenciar itens de trabalho e aplicar regras aos estados do fluxo de trabalho.
Compreender as regras do fluxo de trabalho
A tabela a seguir descreve os três grupos de regras de fluxo de trabalho que você pode definir:
Ações padrão:
- Aplicar quando um item de trabalho é criado, em um estado selecionado ou movido de um estado para outro.
- As ações incluem definir o valor de um campo, tornar um campo somente leitura ou tornar um campo obrigatório.
- Você pode especificar uma ou duas condições e várias ações.
Restringindo transições de estado (grupo 1):
- Especifique uma condição que indique o estado do qual um item de trabalho foi movido.
- Defina ações para restringir as transições desse estado para outros estados.
Restringindo transições de estado (grupo 2):
- Semelhante ao primeiro grupo, especifique uma condição que indique o estado do qual um item de trabalho foi movido.
- Defina ações para restringir as transições desse estado para outros estados.
A tabela a seguir descreve os dois grupos de regras de fluxo de trabalho que você pode definir:
Ações padrão:
- Aplicar quando um item de trabalho é criado, em um estado selecionado ou movido de um estado para outro.
- As ações incluem definir o valor de um campo, tornar um campo somente leitura ou tornar um campo obrigatório.
- Você pode especificar uma ou duas condições e várias ações.
Restringindo transições de estado:
- Especifique uma condição que indique o estado do qual um item de trabalho foi movido.
- Defina uma ou mais ações para restringir as transições desse estado para outros estados.
Nota
Alguns recursos exigem a instalação da atualização do Azure DevOps Server 2020.1. Para obter mais informações, consulte Azure DevOps Server 2020 Update 1 RC1 Release Notes, Boards.
As condições e ações do fluxo de trabalho que você pode definir são ilustradas nas imagens a seguir. Você pode aplicar ações padrão quando um item de trabalho é criado, em um estado selecionado ou é movido de um estado para outro. Essas ações padrão definem o valor de um campo ou tornam um campo somente leitura ou obrigatório. Para esse conjunto de regras, você pode especificar uma ou duas condições e várias ações.
Condition
Ações apoiadas
Definir valor de campo ou tornar somente leitura/obrigatório com base no Estado
Restringir uma transição com base no Estado
Ocultar campo ou tornar o campo somente leitura ou obrigatório com base no estado e na associação de usuário ou grupo
Com base na associação de usuário ou grupo, defina um atributo de campo ou restrinja uma transição de Estado
Nota
Quando você personaliza um processo herdado, todos os projetos que usam esse processo refletem automaticamente as personalizações. Para garantir uma transição suave, recomendamos a criação de um processo e projeto de teste, que permite testar suas personalizações antes de implementá-las em toda a organização. Para obter mais informações, consulte Criar e gerenciar processos herdados.
Compreender o estado do fluxo de trabalho e os limites de regras
As regras de fluxo de trabalho são aplicadas quando você adiciona ou modifica itens de trabalho por meio de qualquer uma das seguintes interfaces:
- Portal da Web: Formulário de item de trabalho, atualizações em massa, atualizações no modo de exibição de consulta
- Portal da Web: Quadro ou Quadro de Tarefas, mover item de trabalho para coluna
- Visual Studio 2017 e versões anteriores, formulário de item de trabalho
- Formato de arquivo CSV: importação ou atualização em massa
- Excel: Importação ou atualização em massa
- API REST: Adicionar ou modificar itens de trabalho
A seguinte tabela resume os limites de estado e de regra do fluxo de trabalho para o processo de Herança.
Objeto | Limite de herança |
---|---|
Tipos de itens de trabalho definidos para um processo | 64 |
Estados de fluxo de trabalho definidos para um tipo de item de trabalho | 32 |
Regras definidas para um tipo de item de trabalho | 1024 |
Ao definir estados e regras do fluxo de trabalho, siga estas diretrizes para minimizar problemas de desempenho:
- Limitar o número de regras para um WIT: embora você possa criar várias regras para um tipo de item de trabalho (WIT), mais regras podem afetar negativamente o desempenho quando os usuários adicionam ou modificam itens de trabalho. O sistema valida todas as regras associadas aos campos para o tipo de item de trabalho quando os usuários salvam itens de trabalho. Em alguns casos, a expressão de validação de regra pode se tornar muito complexa para o SQL avaliar.
- Limitar o número de tipos de item de trabalho personalizado: reduzir o número de tipos de item de trabalho personalizado pode ajudar a manter o desempenho ideal.
Definir uma regra
Antes de definir uma regra com base nos estados do fluxo de trabalho, verifique se os seguintes elementos estão instalados:
- Estados do fluxo de trabalho: defina os estados do fluxo de trabalho conforme descrito em Personalizar um fluxo de trabalho.
- Campos personalizados: se a regra exigir um campo personalizado, adicione-o ao tipo de item de trabalho conforme descrito em Adicionar e gerenciar campos.
- Grupos de segurança: se a sua regra exigir que um grupo de segurança conceda ou restrinja alterações baseadas na associação de usuários ou grupos, defina o grupo de segurança conforme descrito em Adicionar ou remover usuários ou grupos, gerencie grupos de segurança.
Para obter mais informações sobre como definir regras, consulte Adicionar uma regra personalizada.
Definir o valor do campo ou tornar o campo somente leitura ou obrigatório
Com o primeiro agrupamento de regras, você pode especificar uma ou duas condições e até 10 ações por regra.
Exemplo de como garantir a aprovação do líder de equipe antes do trabalho ativo
Neste exemplo, as equipes de desenvolvimento querem garantir que nenhuma história de usuário seja trabalhada até ser aprovada por um líder de equipe. Os estados de fluxo de trabalho padrão são usados, com a adição de um campo personalizado, Aprovado por, e um grupo de segurança, Grupo de Líderes de Equipe.
Estados de fluxo de trabalho padrão
Requisitos da regra
Para garantir a aprovação antes do trabalho ativo, defina as seguintes regras:
- Exigir que o campo Aprovado por seja preenchido quando o Estado passar de Novo para Ativo
- Impedir que os usuários que não estão no Grupo de Líderes de Equipe preencham o campo Aprovado por
- Limpe o campo Aprovado por quando o Estado for movido para Novo ou Removido
Definições de regras
Os requisitos de regra se traduzem nas quatro definições de regra a seguir.
Nome da regra
Condition
Ações
Aprovado por limpo quando Novo
Quando A work item state changes to New
Em seguida, Clear the value of Approved By
Aprovado por limpo quando removido
Quando A work item state changes to Removed
Em seguida, Clear the value of Approved By
Aprovado por somente leitura
Quando Current user is not member of group Team Leads Group
Em seguida, Make read-only Approved By
Aprovado por obrigatório
Quando A work item state changes from New to Active
Em seguida, Make required Approved By
Restringir transições de estado
Ao especificar a condição, A work item state moved from ...
, você pode especificar apenas essa condição. Você pode especificar até 10 ações.
Nota
Esse recurso requer a atualização do Azure DevOps Server 2020.1 ou versão posterior.
Exemplo de restrição de transições de estado e estado Aprovado
Os seguintes estados de fluxo de trabalho são definidos para a User Story. Os estados herdados Novo, Resolvido e Removido estão ocultos. Em vez disso, são usados Estados propostos, em revisão e cortados. Além disso, são definidos mais três Estados: Investigar, Projetar e Aprovado. Esses estados devem seguir a sequência como mostrado na imagem a seguir.
Sem quaisquer restrições, os utilizadores podem deslocar-se de um Estado para qualquer outro, tanto para a frente como para trás dentro da sequência.
Requisitos da regra
Para dar suporte a um fluxo de trabalho mais controlado, o grupo de negócios decidiu instituir regras que suportam as seguintes transições de estado para frente e para trás no tipo de item de trabalho User Story.
Estado | Regra de transição |
---|---|
Proposto | Só pode passar para Pesquisa e Corte |
Pesquisar | Só pode passar para Design e Corte |
Estruturar | Só pode passar para Pesquisa, Aprovado e Corte |
Aprovado | Só pode ser movido para Design, Ativo e Corte |
Ativos | Só pode ser movido para Em revisão |
Em Revisão | Só pode ser movido para Ativo (Mais trabalho encontrado), Fechado ou Recortado |
Fechadas | Pode mover para Pesquisar, Design, Ativo, Em Revisão (Permite casos em que o usuário fechou o item de trabalho por engano) |
Cortar | só pode passar para Proposta |
Nota
Quando você restringe transições de estado, leve em conta os casos em que um usuário pode mover um estado por engano. Certifique-se de que os usuários possam se recuperar normalmente.
Além disso, o grupo empresarial deseja aplicar as seguintes regras para campos obrigatórios:
- Exija que o campo Aprovado por seja preenchido quando o estado passar de Aprovado para Ativo.
- Permita que apenas os usuários do grupo Aprovadores Autorizados preencham o campo Aprovado por .
- Limpe o campo Aprovado por quando o estado for movido para Cortar.
- Exija que o campo Critérios de aceitação seja preenchido quando o estado for movido para Ativo.
Definições de regras
Para implementar as restrições mencionadas anteriormente, o administrador do processo adiciona um campo personalizado de identidade Aprovado por , um grupo de segurança Aprovadores autorizados e as regras a seguir.
Nome da regra
Condition
Ações
Estado proposto
Quando A work item state moved from Proposed
Em seguida, Restrict the state transition to Design
e ainda Restrict the state transition to Approved
e ainda Restrict the state transition to Active
e ainda Restrict the state transition to In Review
e ainda Restrict the state transition to Closed
Estado da investigação
Quando A work item state moved from Research
Em seguida, Restrict the state transition to Proposed
e ainda Restrict the state transition to Approved
e ainda Restrict the state transition to Active
e ainda Restrict the state transition to In Review
e ainda Restrict the state transition to Closed
Estado do design
Quando A work item state moved from Design
Em seguida, Restrict the state transition to Proposed
e ainda Restrict the state transition to Research
e ainda Restrict the state transition to Active
e ainda Restrict the state transition to In Review
e ainda Restrict the state transition to Closed
Estado aprovado
Quando A work item state moved from Approved
Em seguida, Restrict the state transition to Proposed
e ainda Restrict the state transition to Research
e ainda Restrict the state transition to Design
e ainda Restrict the state transition to In Review
e ainda Restrict the state transition to Closed
Estado ativo
Quando A work item state moved from Active
Em seguida, Restrict the state transition to Proposed
e ainda Restrict the state transition to Research
e ainda Restrict the state transition to Design
e ainda Restrict the state transition to Approved
e ainda Restrict the state transition to Closed
Em estado de revisão
Quando A work item state moved from In Review
Em seguida, Restrict the state transition to Proposed
e ainda Restrict the state transition to Research
e ainda Restrict the state transition to Design
e ainda Restrict the state transition to Approved
Estado fechado
Quando A work item state moved from Closed
Em seguida, Restrict the state transition to Proposed
e ainda Restrict the state transition to Cut
Estado de corte
Quando A work item state moved from Cut
Em seguida, Restrict the state transition to Research
e ainda Restrict the state transition to Design
e ainda Restrict the state transition to Approved
e ainda Restrict the state transition to Active
e ainda Restrict the state transition to In Review
e ainda Restrict the state transition to Closed
Campos obrigatórios do estado aprovado
Quando A work item changes from Approved to Active
Em seguida, Make required Acceptance Criteria
e ainda Make required Approved By
Aprovadores Autorizados
Quando Current user is not a member of Authorized Approvers
Em seguida, Make read-only Approved By
Limpar campo Aprovado por
Quando A work item state changes to Cut
Em seguida, Clear the value of Approved By
Verificar restrições de transição de estado
Depois de definir as regras para o processo e atualizar o projeto, atualize seu navegador. Verifique as operações através do formulário de item de trabalho e do navegador.
Para as regras definidas na tabela anterior, verifique os menus suspensos Estado. Abra o quadro e certifique-se de que você pode se mover de um estado para outro.
Proposta | Investigação | Desenho | Aprovado |
---|---|---|---|
Activo | Em revisão | Fechadas | Corte |
Restringir a transição de estado com base na associação de usuário ou grupo
Quando você especifica uma das duas condições com base na associação de usuário ou grupo, Current user is member of group ...
ou Current user is not member of group ...
, você só pode especificar uma condição. Além disso, se você especificar a ação Restrict the transition to state...
, você só poderá especificar uma ação.
Nota
Os itens de trabalho estão sujeitos a regras aplicadas a eles. As regras condicionais baseadas na associação de usuário ou grupo são armazenadas em cache para seu navegador da Web. Se você estiver restrito a atualizar um item de trabalho, talvez tenha encontrado uma dessas regras. Se você acredita ter encontrado um problema que não se aplica a você, consulte Problemas de cache do IndexDB do formulário de item de trabalho.
Automatize transições de estado de itens de trabalho pai
Para automatizar transições de estado para itens de trabalho pai baseados nas atribuições de estado de seus itens de trabalho filho, consulte Automatizar transições de estado de item de trabalho.
Automatize a reatribuição com base na alteração de estado
O tipo de item de trabalho de bug do processo Agile anteriormente tinha uma regra que reatribuía o bug ao seu criador. Removemos essa regra do processo padrão do sistema. Você pode restabelecer a regra ou adicionar uma regra semelhante a outros tipos de item de trabalho usando a seguinte condição e ação:
Quando A work item state changes to
resolvido, em seguida, Copy the value from
criado por para atribuído a.