To apply some conditional logic, you can determine the destination state of the record currently undergoing an action. Here are some examples:
The following action notification hook gets the destination state and sends an e-mail if the current record is being closed.
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
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}
}