Quando e onde aplicar uma regra de campo
Você pode usar regras de campo para determinar o comportamento de tipo de item de trabalho independentemente do estado do item de trabalho. Por exemplo, um campo que é necessário para um bug que há de novo e ativa permanece necessário até que o bug seja fechado.
Regras do campo também podem ser definidas para determinados estados, transições e até mesmo motivos. O conjunto completo de regras que se aplicam a qualquer campo específico está aditivas de subconjuntos de quatro seguintes:
Específicos do tipo de item de trabalho
Estado específico
Específico de transição
Motivo específico
Regras específicas do tipo de Item de trabalho
As regras específicas do tipo de item de trabalho se aplicam independentemente do local de um item de trabalho em seu modelo de estado. Por exemplo, um <REQUIRED /> regra executa a verificação a seguir:
"MyField Value" != NULL
Regras específicas de estado
Regras específicas de estado limitam-se a uma instância de item de trabalho quando ele estiver em um determinado estado. Uma regra específica de estado é aplicada quando as seguintes condições for verdadeira:
State field value == "MyState" && "MyField Value" != NULL
Regras específicas de transição
Regras específicas de transição limitam-se para um item de trabalho está passando por um determinado tipo de transição. Regras específicas de transição são aplicadas quando as seguintes condições forem verdadeiras:
State field value == "ToState" &&
"Previous State Before Edit/New" == "FromState"
&& "MyField Value" != NULL
Regras específicas de motivo
Regras específicas de razão limitam-se a uma razão específica para uma transição de particular. Regras específicas de razão são processadas quando as seguintes condições forem verdadeiras:
Reason field == "MyReason" &&
State field value == "ToState" &&
"Previous State Before Edit/New" == "FromState" && "MyField Value" != NULL
Regras de escopo do campo
Você pode aplicar o escopo para regras de campo usando o FIELDS e FIELD elementos (fluxo de trabalho) a STATE, TRANSITION, e REASON elementos.
Observação |
---|
Quando você lista os campos no fluxo de trabalho, especifique somente o nome de referência de campo. |
Exemplo
O exemplo a seguir define a regra a seguir: Quando um bug está no estado ativo, não permitir que o cliente campo de gravidade a ser modificado.
<STATE name="Active">
<FIELDS>
<FIELD refname="MyCorp.Severity" >
<READONLY />
</FIELD>
</FIELDS>
</STATE>