AddWatcherPerTicket

From Request Tracker Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

You can use this Scrip to add a Watcher to a particular ticket. One possible use would be to have tickets of a particular urgency (as in the custom condition below) forwarded to an 'emergency' email address, or to someone's phone via an email-SMS gateway.

Note that you need to set up two scrips for this: the first to add the extra Watcher, and the second to send the email. This is because of the order in which RT runs through its automatic & user-defined actions.

First scrip

Condition: User Defined

Custom Condition:

 return undef unless ( ($self->TransactionObj->Type eq "Create") ||
                      ( $self->TicketObj->FirstCustomFieldValue('Urgency') eq "High"));
 return 1;
 

Action: User Defined

Custom action preparation code:

 $self->TicketObj->AddWatcher( Type => "Cc",
                               Email =>"address\@email.com");
 push( @{$self->{'To'}},
       $self->TicketObj->Requestors->MemberEmailAddresses,
       $self->TicketObj->QueueObj->Cc->MemberEmailAddresses );
 return 1;
 

Custom action cleanup code:

1;

Template: Global Template: Transaction

Second scrip

Condition: On Create

Action: Notify Ccs

Template: Global Template: Transaction

  • I had problems with scrip order to get this to work. The Notify scrip has to be executed after the Add CC scrip. See ScripExecOrder

See also: ManualScrips, WriteCustomAction, WriteCustomCondition