AutoSetOwnerFromCC
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.
This is a variation on AutoSetOwner, it auto-sets the owner of a ticket by using the Cc watcher. It then removes the new owner from the Cc.
- Condition: On Create # Action: User Defined # Template: blank # Stage: TransactionCreate
Description: AutoAssign Owner From Cc Condition: On Create Action: User Defined Template: Global Template: Blank Stage: TransactionCreate
Custom Condition
return 1;
Custom Action Preparation
return 1;
Custom Action Cleanup Code
# Get the first CC my $newowner = $self->TicketObj->Cc->UserMembersObj->Next; if (defined $newowner) { $RT::Logger->debug("Attempting to auto assign ticket #". $self->TicketObj->id ." to user #". $newowner->id); my ($status, $msg) = $self->TicketObj->SetOwner( $newowner ); unless( $status ) { $RT::Logger->error( "Impossible to assign ticket #" . $self->TicketObj->id . " to user #" . $newowner->id . ": $msg" ); return undef; } $RT::Logger->debug("Auto-assign successful for ticket #". $self->TicketObj->id); # Now we need to remove them as Cc $RT::Logger->debug("Attempting to remove user #" . $newowner->id . " as Cc on ticket #". $self->TicketObj->id); my ($status, $msg)= $self->TicketObj->DeleteWatcher( Type => "Cc", PrincipalId => $newowner->id); unless( $status ) { $RT::Logger->error( "Unable to remove user #" . $newowner->id . " as Cc for ticket #" . $self->TicketObj->id); return undef; } $RT::Logger->debug("Cc removal successful for ticket #". $self->TicketObj->id); } return 1;