Um gatilho ou trigger desencadeia uma série de ações quando um ticket é criado ou atualizado, sempre que determinadas condições são atendidas.
Se houver vários gatilhos, cada vez que um ticket é criado ou atualizado, será verificado se as condições de cada um deles são atendidas. Essa verificação completa é chamada de “ciclo de gatilhos”:
- O ciclo de gatilhos segue uma ordem sequencial, começando pelo primeiro gatilho da lista.
- Se as condições para ser acionado não forem atendidas, prossegue-se para verificar as condições do segundo gatilho e assim sucessivamente, até que as condições de algum gatilho sejam atendidas ou que todos eles tenham sido verificados.
- Quando as condições de um gatilho forem atendidas, ele será acionado. Como isso representa uma atualização do ticket, em seguida a verificação das condições de todos os gatilhos será reiniciada desde o primeiro da lista. Ou seja, uma nova iteração ou atualização completa das verificações é iniciada desde o princípio.
- Quando um gatilho já tiver sido acionado em uma iteração, ele não poderá ser acionado novamente em nenhuma outra iteração do mesmo ciclo.
- O ciclo termina quando nenhum gatilho tiver sido acionado ao final de uma iteração.
A seguir, mostramos um exemplo e sua interpretação:
Neste exemplo, ocorreu uma atualização de um ticket e temos 4 gatilhos.
Primeiro, verifica-se que as condições do Gatilho 1 não são atendidas, então passamos ao Gatilho 2. Como suas condições são atendidas, ele será acionado e, em seguida, uma nova iteração será iniciada. Ou seja, será verificado novamente se as condições do Gatilho 1 são atendidas e, caso não sejam, passaremos ao Gatilho 2, que, como já foi acionado neste ciclo, não poderá ser acionado novamente.
Portanto, a verificação das condições do Gatilho 3 continuará e, como elas não são atendidas, passaremos ao Gatilho 4, que atende às condições e será acionado, dando lugar a uma nova iteração.
A ordem dos gatilhos é um fator crítico. De fato, ao ser acionado, o Gatilho 4 poderia alterar alguma propriedade do ticket, o que, por sua vez, poderia permitir que as condições do Gatilho 3 fossem atendidas e, consequentemente, ele fosse acionado na iteração seguinte, conforme mostrado no gráfico usado como exemplo.
Comentários
0 comentários
iniciar sessão para comentar.