[rt-users] getting the current queue name and how to move the ticket to another queue?

Swinkels, Marcel MSWINKELS at UPC.NL
Thu Apr 29 03:38:52 EDT 2004


Hi Ruslan,

sorry to bother you again. I tried to use the code you gave me:

my $CurrentQueue;
$CurrentQueue = $TicketObj->QueueObj->Name.
$RT::Logger->info("Found queuename $CurrentQueue");

But when I use that code, I get the following error:

Apr 29 09:34:43 secsrv RT: Scrip 66 Prepare failed: Global symbol
"$TicketObj" requires explicit package name at (eval 2067) line 43.
(/opt/rt3/lib/RT/Action/UserDefined.pm:43)

I used this code in a working script that already has the following
declarations:

my $IPaddress;
my $UPCountrycode;
my $CFNameRead = 'IPaddress'; 
my $CFNameWrite = 'UPCountry';
my $Ticket = $self->TicketObj;
my $CustomFields = $Ticket->QueueObj->CustomFields();
my $CF = RT::CustomField->new( $RT::SystemUser );

Did I miss a declaration somewhere? I also tried to add ; or . "\n";,
but none of these options seems to work.

Regards,

Marcel Swinkels
chello abuse
UPC Nederland
mswinkels at upc.nl 

-----Original Message-----
From: Ruslan U. Zakirov [mailto:cubic at acronis.ru] 
Sent: zaterdag 24 april 2004 15:12
To: Swinkels, Marcel
Cc: rt-users at lists.bestpractical.com
Subject: Re: [rt-users] getting the current queue name and how to move
the ticket to another queue?


Swinkels, Marcel wrote:
> Hi,
> 
> despite reading the RTWiki pages I still don't know how I can get the 
> name (not the number) of the queue in which the ticket is in, using 
> scrip-code. I also cannot find how I can move the ticket from one 
> queue to the other using the name of the queue.
1)

my $CurrentQueueName = $TicketObj->QueueObj->Name.

2)
my $QueueObj = RT::Queue->new( $self->CurrentUser ); $QueueObj->Load(
'ToQueueName' ); unless( $QueueObj->id ) {
	die "Can't load queue";
}
$TicketObj->SetQueue( $QueueObj->id );


> 
> What I want to do is the following. A ticket comes in, the IP address 
> is filtered out and a query is made on the database to see to which 
> country the IP address belongs. That output is stored in a 
> customfield. That all works fine. I also know how to read the value of

> a CF. Our queues are named like f.i. chello abuse AT, chello abuse NL 
> etc. The CF contains the country code. Our pre-filtering is done by 
> procmail, but because some people still mail to the wrong 
> abuseaddress, it is possible that a complaint for chello.at gets into 
> the chello abuse NL queue. Therefor I want to get the name of the 
> current queue and regexp it to see if there's a match (countrycode AT 
> = chello abuse AT?) If the ticket is in the wrong queue I want to move

> it to the correct queue.
> 
> Can someone tell me how I can:
> - get the name of the current queue into a variable
> - move a ticket to another queue using the name of it
> 
> Thank you very much in advance for any response.
> 
> Regards,
> 
> Marcel Swinkels
> chello abuse
> UPC Nederland
> mswinkels at upc.nl _______________________________________________
> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users
> 
> RT Developer and Administrator training is coming to LA, DC and 
> Frankfurt this spring and summer. 
> http://bestpractical.com/services/training.html
> 
> Sign up early, as class space is limited.




More information about the rt-users mailing list