SetCorresponderAsCC
Jump to navigation
Jump to search
Contributed by Fahd S.
Overview This custom action sets the corresponder as CC. A Queue is being worked on by a fixed group of support staff. The are all AdminCC and a template notifies them via email when a new ticket is created. The support staff replies/comments mostly via email. The problem was that no staff member was aware of what another staff member had replied b/c they never use the web interface. This scripts add all corresponders to CC to keep them abreast of updates to the ticket.
Description: SetCorresponderAsCC Condition: On Correspond Action: User Defined Custom action preparation code: #uncomment Logger stuff for debuging #$RT::Logger->debug('Running Script TestScriptAddCC'); my $Actor = $self->TransactionObj->Creator; my $Corresponder_id = $self->TransactionObj->CreatorObj->PrincipalId; my $OwnerEmail = $self->TicketObj->OwnerObj->EmailAddress(); # exit if actor is RT_SystemUser return 1 if $Actor->id == $RT::SystemUser->id; # get out if corresponder is already requestor,cc or admincc. if ( $self->TicketObj->IsWatcher( Type => 'Requestor', PrincipalId => $Corresponder_id) ){ #$RT::Logger->debug("TestScriptAddCC - Corresponder is Requestor, exit"); return 1; } if ( $self->TicketObj->IsWatcher( Type => 'Cc', PrincipalId => $Corresponder_id) ){ #$RT::Logger->debug("TestScriptAddCC - Corresponder is in CC, exit"); return 1; } if ( $self->TicketObj->IsWatcher( Type => 'AdminCc', PrincipalId => $Corresponder_id) ){ #$RT::Logger->debug("TestScriptAddCC - Corresponder is in AdminCC, exit"); return 1; } #RuslanZakirov's check my ($status, $msg) = $self->TicketObj->AddWatcher( Type => "Cc", PrincipalId => $Corresponder_id ); unless ( $status ) { $RT::Logger->error("Couldn't add watcher: $msg"); } return 1; Template: Global template: Blank
Note: On rt-3.6.1, I had to use $Actor instead of $Actor->id.
Thanks to all those who contribute ....