Compartilhar via


Automatizando as atribuições de campo com base no 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 do Visual Studio ALM. Por exemplo, convém automatizar a transição de um bug de um estado para outro com base no que ocorre em uma ferramenta de controle de chamada. O modelo de tipo de item de trabalho e a API de rastreamento de Item funcionar 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 item de trabalho, generalizar esse código, associando a ação a transição de estado apropriado usando a ACTION elemento. Você pode passar o valor da ação para o [WorkItem.GetNextState] método para obter o estado de post-action do que trabalhar item. A caixa de diálogo de check-in de controle de versão usa esse método para resolver bugs e fechar tarefas que estão associadas com o check-in.

ACTIONé um elemento filho opcional de 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: Estendendo o Team Foundation.

Por exemplo, uma ferramenta é predefinida para fazer a transição automaticamente de um item de trabalho "Resolvido" Depois que o usuário faz check-in de uma alteração. No entanto, como um provedor de integração, você não souber qual estado em que o autor de tipo de item de trabalho foi declarado como "Resolvido". O autor pode significar resolvido, fechado, concluído, pronto para teste, incluem criar e assim por diante. Seria uma opção 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 não permite a localização dos Estados. Em vez disso, os integradores de sistema podem declarar uma ação, como "Check-in" ou "Complete" que induz uma transição automática para os itens de trabalho. O autor de tipo de item de 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 automática

Sintaxe para o elemento de ação

A sintaxe a seguir é usada para o ACTION elemento. O atributo value Especifica o nome da ação e é necessário. Você deve seguir as mesmas convenções de nomenclatura para ações como nomes de campo referência. Por exemplo, Controle de versão do Team Foundation usa o Microsoft para identificar a transição que é apropriada para os itens de trabalho que estão associados com a seleção-in. Para obter mais informações, consulte 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 em que o item de trabalho deve transição quando a ação é realizada.

  2. Definir o item de trabalho o "para" estado.

    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: SDK do Team Foundation Server.

    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 campo de item de trabalho adicional para controlá-la ou você pode definir um valor de razão.

Voltar 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 de seu fluxo de trabalho. Por exemplo, um Team Foundation Server o sistema de controle de versão deve oferecer suporte a transições automáticas de itens de trabalho no check-in time. Para dar suporte a isso, "Microsoft" ação foi definida.

Um autor de tipo de item de trabalho pode definir um defeito de"" trabalhar o tipo de item que tem um estado chamado "Trabalho" e use o item de trabalho quando um desenvolvedor está fazendo alterações. O autor de tipo de item de trabalho pode definir outro estado chamado "Pronto para construir" o que significa que o desenvolvedor tenha declarado o código que foi afetado por defeito de estar pronto para a compilação noturna.

O autor pode automaticamente o item de trabalho do "Trabalho" de transição estado de "Pronto para construir" estado 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>

Voltar ao topo

Detalhes da ação de transição

Use as ações de transição de estado para automatizar as transições de itens de trabalho em vários pontos de 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 ocorrência do item de trabalho possui uma entrada de ação para a ação especificada, ela retorna o "para" estado. Se não, o valor de retorno é nulo. Integrações devem manipular valores de retorno nulo normalmente. Isso é:

    • Não falhe.

    • Deixe o rastreamento de log 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, as 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 é possível especificar vários "para" Estados para a mesma ação.

  • No entanto, várias ações de uma mesma transição são suportadas para permitir várias integrações de transição automática 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 espaço para nome 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>.

Voltar ao topo

Verificação de erros de transição 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 ocorre por meio da automação autônoma, como, por exemplo, uma compilação noturno.

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

  • Transições de auto autônoma automação você deve assumir que nenhum usuário está presente para resolver esses problemas. Nesse caso, a integração deve falhar tranqüilamente. Um log de erro deve indicar que a transição automática foi tentada e deve fornecer o motivo da falha.

Ao definir qualquer tipo de transição automática, 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 que são definidas para o estado, sendo a transição são atendidas através de padrões ou copiados de 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álida, 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 de regra para especificar um valor para o campo.

Por exemplo, você criou a ação de transição Check-In, transições de estado de um item de trabalho do "Trabalho" para "Pronto para construir". Regras do item de trabalho "Pronto para criar" exigir que o "resolvido por" campo definido. Em seguida, você definiria um DEFAULT ou COPY o elemento de regra para "resolvedby" no 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.

Voltar ao topo

Consulte também

Conceitos

Quando e onde aplicar uma regra de campo

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

Histórico de alterações

Date

History

Motivo

Janeiro de 2011

Reescreveu a consolidar os tópicos abordados usando o ACTION elemento para automatizar a atribuição de um campo.

Aprimoramento de informações.