Come avviare un'attività con lo stato di destinazione

Per applicare la logica condizionale, è possibile determinare lo stato di destinazione del record su cui si sta svolgendo un'azione. Di seguito vengono riportati alcuni esempi:

Il seguente hook di notifica di azione acquisisce lo stato di destinazione e invia un e-mail se si sta chiudendo il record corrente.

Nota: questo hook di notifica di azione utilizza un'azione di base. Un'azione di base è un'azione che si verifica con ogni azione. Un'azione di base conviene se si desidera che un hook sia generato con più di un'azione, come, ad esempio, un hook di notifica e-mail che viene generato con tutte le azioni.

VBScript

Sub Defect_Notification(actionname, actiontype)

   Dim cqSes ' a Session object

   Dim entDef ' an EntityDef object

   Dim actionname ' a String

   Dim actiontype ' a Long

   ' action = test_base

   set cqSes = GetSession
   ' NOTE: You can also have conditional logic based on the
   ' current action

    set entDef = cqSes.GetEntityDef(GetEntityDefName)

    if entDef.GetActionDestStateName(actionName) = "Closed" then

       ' put send notification message code here

    end if

End Sub 

Perl

sub Defect_Notification {

    my($actionName, $actiontype) = @_;  

    # $actionName as string scalar

    # $actiontype as long scalar

    # action is test_base

   $actionName = $entity->GetActionName();
    # NOTE: You can also have conditional logic based on the
    # current action

  # You can use the $session variable that Rational ClearQuest provides. 

    $entDef = session->GetEntityDef($entitiy->GetEntityDefName());

    if ($entDef->GetActionDestStateName($actionName) eq "Closed") 
      {# put send notification message code here}

} 

Feedback