AutoSetOwnerFromCC
Jump to navigation
Jump to search
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;