SetOwnerAndQueueBySubject
Jump to navigation
Jump to search
Not too fancy. Used the ideas from AutoSetOwner and AutomaticCustomFieldValue to send certain subject lines off to a specific queue and user.
Condition: On Create
Action: User Defined
Template: Global Template: Blank
Stage: Transaction Create
Custom Action Prep Code:
my $match = "some special regex"; my $t_subject = $self->TicketObj->Subject; if ( $t_subject !~ /$match/i ) { return 0; } else { return 1; }
Custom Action Cleanup Code:
my $newqueue = "some_queue_number"; my $newowner = "some_owner"; my $T_Obj = $self->TicketObj; $RT::Logger->info("Auto assign ticket #". $T_Obj->id ." to queue #". $newqueue ); my ($status, $msg) = $T_Obj->SetQueue($newqueue); unless ($status) { $RT::Logger->warning("unable to set new queue: $msg"); return undef; } $RT::Logger->info("Auto assign ticket #". $T_Obj->id ." to user #". $newowner ); my ($status, $msg) = $self->TicketObj->SetOwner( $newowner ); unless( $status ) { $RT::Logger->error( "Impossible to assign the ticket to $newowner: $msg" ); return undef; } return 1;
Hope this helps.
Dan Dofton, Four County Library System, ddofton@4cls.org
We made some changes to this script to receive QUEUE:OWNER on the email subject and set this values.
Condition: On Create Action: User Defined Template: Global Template: Blank Stage: Transaction Create
Custom Action Prep Code:
my $match = ":"; my $t_subject = $self->TicketObj->Subject; if ( $t_subject !~ /$match/i ) { return 0; } else { return 1; }
Custom Action Cleanup Code:
my $t_subject = $self->TicketObj->Subject; my $newqueue; my $newowner; ($newqueue,$newowner) = split(/:/,$t_subject); my $T_Obj = $self->TicketObj; $RT::Logger->info("Auto assign ticket #". $T_Obj->id ." to queue #". $newqueue ); my ($status, $msg) = $T_Obj->SetQueue($newqueue); unless ($status) { $RT::Logger->warning("unable to set new queue: $msg"); return undef; } $RT::Logger->info("Auto assign ticket #". $T_Obj->id ." to user #". $newowner ); my ($status, $msg) = $self->TicketObj->SetOwner( $newowner ); unless( $status ) { $RT::Logger->error( "Impossible to assign the ticket to $newowner: $msg" ); return undef; } return 1;
hope this help!
Thanks!
Christian - ccibelli at topgroup dot com dot ar