Here is a scrip we use to move tickets into a queue when they are created
based upon subject line. RT doesn’t show the ticket being moved, so I think
this scrip is actually causing the ticket to be created in the new queue.
See if this might work for you.
Description: AutoChange Queue
Condition: On Create
Custom condition:
Action: User Defined
Custom Action Preparation code: return 1;
Custom Action Cleanup code: # get out unless subject is like ursuant
return 1 unless $self->TicketObj->Subject =~ /ursuant/;
ok, try to change queue
$RT::Logger->info(“Auto transfer ticket #”. $self->TicketObj->id ." to the
Pursuant Queue" );
my ($status, $msg) = $self->TicketObj->SetQueue( ‘8’ );
unless( $status ) {
$RT::Logger->warning( “Impossible to change Queue” );
return undef;
}
return 1;
Stage: TransactionCreate
Template: Global template: Blank
Thanks,
Tim
972-980-4991From: Todd Chapman [mailto:todd@chaka.net]
Sent: Tuesday, October 18, 2005 7:03 AM
To: Howard Jones
Cc: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Adding a CustomField to a ticket?
What is the scrip condition?
Hi,
I’ve been experimenting this morning with a scrip to extract
information from some fields in a ticket, and fill in some additional
information in a customfield, based on those fields. The scrip works,
but only if the ticket was created in the appropriate queue, and not moved
there.
Apparently, if it was moved into the queue, it doesn’t gain the CFs
for that queue. Unfortunately, the way we have RT setup, almost all
mails go into General before being re-filed by us (we don’t trust our
customers to categorise their problem, basically). Is there a way to
add a CF to a ticket from within a scrip, or alternatively, is there
something else I need to do to inherit a CF when the ticket moves?
My script action is currently:
my $tick = $self->TicketObj;
my $requestor = $tick->RequestorAddresses;
my $cf = $tick->QueueObj->CustomField(‘OutageSource’);
if($requestor ne “”)
{
$tick->DeleteWatcher(Type=>‘Requestor’,Email=>$requestor);
$tick->AddCustomFieldValue(Field=>$cf,Value=>$requestor);
$RT::Logger->warning(“Removing requestor, adding CF value”);
}
return 1;
I have a couple of similar but more involved scrips I was planning to
write, but obviously I’d like to get past this bit first!
Thanks in advance,
Howard
The rt-users Archives
Be sure to check out the RT Wiki at http://wiki.bestpractical.com
Buy your copy of our new book, RT Essentials, today!
Download a free sample chapter from http://rtbook.bestpractical.com
The rt-users Archives
Be sure to check out the RT Wiki at http://wiki.bestpractical.com
Buy your copy of our new book, RT Essentials, today!
Download a free sample chapter from http://rtbook.bestpractical.com