Compartilhar via


Automatizar atribuições de campo com base em estado, transição ou motivo

Talvez você queira transição automaticamente os itens de trabalho de um estado para outro estado baseado em um evento que ocorre em outro lugar no Visual Studio Application Lifecycle Management (ALM) ou um evento que ocorre fora da Visual Studio ALM.Por exemplo, você poderá automatizar a transição de um bug de um estado para outro com base no que ocorre em uma ferramenta de acompanhamento de chamada.O modelo de tipo de item de trabalho e a API de rastreamento de Item trabalhar são estendidos para oferecer suporte a transição automática de itens de trabalho por outros sistemas.

Se você tiver o código que altera o estado de um itemde trabalho, você pode generalizar esse código associando sua ação com a transição de estado apropriado usando a ACTION elemento.Você pode passar o valor da sua ação para o [WorkItem.GetNextState] método para obter o estado post-action do itemtrabalho. A versão check-in de controle caixa de diálogo usa esse método para resolver bugs e tarefas fechar que estão associadas com o check-in.

ACTIONé um elemento opcional filho do ACTIONS.

ObservaçãoObservação

A API de rastreamento de Item de trabalho faz parte do Visual Studio ALM SDK, conforme descrito na seguinte página no site da Microsoft: Extending Team Foundation.

Por exemplo, uma ferramenta é predefinida para fazer a transição automaticamente um item de trabalho para "Resolvido" depois que o usuário faz check-in de uma alteração.No entanto, como uma integração de provedor, você não souber qual estado em que o autor do tipo de item trabalho foi declarado como "Resolvido".O autor pode significar Resolved, fechado, Completed, pronto para teste, incluir no construir e assim por diante.Uma opção seria exigir que todos os autores de tipo de item de trabalho incluir um estado explicitamente chamado "Resolvido".

Essa solução é muito restritiva.Também é ruim de uma perspectiva internacional porque ele não permite a localização dos Estados.Em vez disso, os integradores de sistema podem declarar uma ação como, por exemplo, "Check-in" ou "Complete" induzir a uma transição automática para itens de trabalho.O autor do tipo de item trabalho, em seguida, poderia declarar esta ação na transição apropriada.

Neste tópico

  • Sintaxe para o elemento de ação

  • Etapas necessárias para oferecer suporte à Automação

  • Associando a uma ação de uma transição de estado

  • Detalhes da ação de transição

  • Verificação de erros de transição de automática

Sintaxe para o elemento de ação

A sintaxe a seguir é usada para o ACTION elemento.O valor de atributo Especifica o nome da ação e é necessária.Você deve seguir as mesmas convenções de nomenclatura para ações como nomes de campo .Por exemplo, Controle de versão do Team Foundation usa o Microsoft para identificar a transição que seja apropriada para os itens de trabalho que estão associados com o check-in.Para mais informações, consulte As convenções de nomenclatura para objetos de rastreamento de Item de trabalho.

<ACTION value="NameOfAction" />

minOccurs = "0"

maxOccurs = "não vinculado"

Etapas necessárias para oferecer suporte à Automação

Para integrar uma ferramenta com o rastreamento de Item de trabalho, a ferramenta deve executar as seguintes etapas:

  1. Determine qual estado o item de trabalho deve transição quando a ação é realizada.

  2. Defina o item de trabalho para o estado de "a".

    A API de rastreamento de Item de trabalho fornece métodos para executar essas etapas.A API de rastreamento de Item de trabalho faz parte do Visual Studio ALM SDK.Para obter mais informações, consulte a seguinte página no site da Microsoft: Team Foundation Server SDK.

    ObservaçãoObservação

    A ação de transação que causou uma transição de estado particular para ocorrer não será registrada.Se você deve controlar a ação que causou uma transição, você pode especificar um itemde trabalho adicionalcampo para controlá-la ou você pode definir um valor de razão.

De volta ao topo

Associando a uma ação de uma transição de estado

Você pode usar as ações de transição de estado para automatizar as transições de itens de trabalho em vários pontos no seu fluxo de trabalho.Por exemplo, um Team Foundation Servero sistema de controle de versão deve oferecer suporte a transições automáticas de itens de trabalho no momento do check-in. Para suportar isso, uma ação de "Microsoft" foi definida.

Um autor de tipo de item de trabalho pode definir um tipo de item de trabalho "Defeito" que tem um estado chamado "Funcional" e usar este item de trabalho quando um desenvolvedor está fazendo alterações.O autor do tipo de item trabalho pode definir outro estado chamado "Pronto para construir," que significa que o desenvolvedor tenha declarado o código que foi afetado pelo defeito esteja pronto para todas as noites compilação.

O autor pode passar o item de trabalho o estado de "Trabalho" no estado "Pronto para criar" automaticamente durante uma operação de check-in, declarando o seguinte:

<TRANSITION from="Working" to="Ready To Build">
   <ACTIONS>
      <ACTION value="microsoft.vsts.actions.checkin"/>
   </ACTIONS>
</TRANSITION>

De volta ao topo

Detalhes da ação de transição

Use ações de transição de estado para automatizar a transições de itens de trabalho em vários pontos no seu fluxo de trabalho.Você pode considerar os seguintes detalhes de uso sobre as ações de transição:

  • Ações de transição são opcionais.Se o estado atual da instância do item de trabalho possui uma ação de entrada para a ação especificada, ela retorna o estado de "a".Se não for, o valor retornado é Null.Normalmente, integrações devem identificador valores de retorno de Null.Isso é:

    • Não falhem.

    • Deixe um rastreamento ou um log que indica que a integração fez a transição não automática porque ela necessária uma ação que não foi encontrada.

  • Para cada tipo de item de trabalho, a ações devem ser exclusivas para os pares do estado/ação.Isso significa que os autores de tipo de item de trabalho não podem especificar vários estados de "a" para a mesma ação.

  • No entanto, várias ações na mesma transição são suportadas para permitir várias integrações de transição de auto conforme mostrado no exemplo a seguir:

    <TRANSITION from="Working" to="Ready To Build">
       <ACTIONS>
          <ACTION value="Microsoft.VSTS.Actions.Checkin"/>
          <ACTION value="ADatum.Actions.Complete"/>
       </ACTIONS>
    </TRANSITION>
    
  • Os nomes de ação são nomes de programação para o qual você pode usar somente caracteres do inglês.

  • Os nomes de ação devem seguir a mesma convenção de namespace de referência como nomes de referência de campo , para evitar conflitos de nome de ação entre fornecedores e clientes.No entanto, esta convenção não é imposta pela ferramenta.Visual Studio ALMuses Microsoft.VSTS.Actions.<your action>.

De volta ao topo

Verificação de erros de transição de automática

Os integradores podem tentar dois tipos de transições de auto.A primeira é uma transição automática ocorre devido a uma ação do usuário .A segunda é uma transição automática que ocorre por autônoma automação, como a todas as noites compilação.

  • Auto-transições de ação do usuário para esse tipo de transição de automática, um usuário está presente para reagir a quaisquer problemas relacionados à regra que aparecem.Você deve certificar-se de que há suporte para a situação que ocorre quando o autor de um tipo de item de trabalho adiciona um campo obrigatório que não reconhece a integração.Para apoiar esta situação, realizar a transição automática e, em seguida, inspecione o tipo de item de trabalho violações da regra.Se você encontrar nenhuma, exiba o formulário do usuário para resolver.

  • Automação autônoma auto-transições você deve assumir que nenhum usuário está presente para resolver esses problemas.Neste maiúsculas e minúsculas, a integração deve falhar tranqüilamente.Um log de erro deve indicar que a transição automática foi tentada, e ele deve fornecer um motivo da falha.

Ao definir qualquer tipo de transição de auto, defina a transição de modo que cada item de trabalho atinge um estado válido no final da transição sem intervenção do usuário .Em outras palavras, todas as regras definidas para o estado, sendo uma transição para forem atendidas, fornecendo os padrões ou copiadas valores para todos os campos.Se qualquer campo torna-se inválido após a transição, transição de estado irá falhar.

Para manter os campos se torne inválido, faça o seguinte:

  • Definir um DEFAULTREASON para a transição de estado.

  • Para campos que se tornaria necessários após a transição de estado, use o DEFAULT ou COPY elementos para especificar um valor para o campoda regra.

Por exemplo, você criou a ação de transição Check-In, que passa o estado de um item de trabalho do "Trabalho" para "Pronto para criar".Regras de trabalho itemdo para "Pronto para criar" exigem que o "Resolvido por" campo definido.Em seguida, você definiria um DEFAULT ou COPY para "ResolvedBy" no elemento de regra a TRANSITION seção.Além disso, você definiria um DEFAULTREASON para certificar-se de que o campo obrigatório pode ser definido sem intervenção do usuário .

De volta ao topo

Consulte também

Conceitos

Quando e onde aplicar uma regra de campo

Outros recursos

Associating a State Transition with an Action