Auto-change queue based on requestor

I’m looking for some help with a scrip for the following design.

We will have one email address to submit issues to.
We will have multiple queues based on organizational unit, i.e.
Accounting, Real Estate
Users of a specific organizational unit will be a member of a group with
the same name as the queue.

I’m trying to write a scrip to determine the group of the requestor,
then move the ticket to that requestor’s queue.

Unfortunately, I’m not very good at perl and I’m having a hard time with
the RT API. I’m hoping somebody out there has done something similar to
this and is willing to share their code. I found the AutoChangeQueue on
the wiki but I’m having a hard time tweaking it for what I’m trying to
do.

Thanks in advance,

Kevin

Hi Kevin,

What criteria are you basing the queue on, for example, will it be the
subject of the email that is sent, or the email address of the requestor, or
specific key words in the body of the message?

Andrew Xenides
System Administrator
EscapeNet
465 South Road
Keswick SA 5035
T: (08) 8292 5200
F: (08) 8292 5299
E: andrew@staff.esc.net.au
W: http://www.esc.net.auFrom: rt-users-bounces@lists.bestpractical.com
[mailto:rt-users-bounces@lists.bestpractical.com] On Behalf Of Kevin Sonney
Sent: Tuesday, 21 June 2005 9:26 AM
To: rt-users@lists.bestpractical.com
Subject: [rt-users] Auto-change queue based on requestor

I’m looking for some help with a scrip for the following design.

We will have one email address to submit issues to.
We will have multiple queues based on organizational unit, i.e. Accounting,
Real Estate
Users of a specific organizational unit will be a member of a group with the
same name as the queue.

I’m trying to write a scrip to determine the group of the requestor, then
move the ticket to that requestor’s queue.

Unfortunately, I’m not very good at perl and I’m having a hard time with the
RT API. I’m hoping somebody out there has done something similar to this
and is willing to share their code. I found the AutoChangeQueue on the wiki
but I’m having a hard time tweaking it for what I’m trying to do.

Thanks in advance,

Kevin

I’m thinking the username or email address of the requestor as all users will be privileged and have read-only access into their respective queues. I’m controlling this access by group rights.

KevinFrom: Andrew Xenides [mailto:andrew@staff.esc.net.au]
Sent: Mon 6/20/2005 5:45 PM
To: Kevin Sonney; rt-users@lists.bestpractical.com
Subject: RE: [rt-users] Auto-change queue based on requestor

Hi Kevin,

What criteria are you basing the queue on, for example, will it be the subject of the email that is sent, or the email address of the requestor, or specific key words in the body of the message?

Andrew Xenides
System Administrator
EscapeNet
465 South Road
Keswick SA 5035
T: (08) 8292 5200
F: (08) 8292 5299
E: andrew@staff.esc.net.au
W: http://www.esc.net.au

From: rt-users-bounces@lists.bestpractical.com [mailto:rt-users-bounces@lists.bestpractical.com] On Behalf Of Kevin Sonney
Sent: Tuesday, 21 June 2005 9:26 AM
To: rt-users@lists.bestpractical.com
Subject: [rt-users] Auto-change queue based on requestor


I'm looking for some help with a scrip for the following design.  
 
We will have one email address to submit issues to.
We will have multiple queues based on organizational unit, i.e. Accounting, Real Estate
Users of a specific organizational unit will be a member of a group with the same name as the queue.
 
I'm trying to write a scrip to determine the group of the requestor, then move the ticket to that requestor's queue.
 
Unfortunately, I'm not very good at perl and I'm having a hard time with the RT API.  I'm hoping somebody out there has done something similar to this and is willing to share their code.  I found the AutoChangeQueue on the wiki but I'm having a hard time tweaking it for what I'm trying to do.
 
Thanks in advance,
 
Kevin

Hi Kevin,

I am also only new to the world of RT but something like this should work

if ($self->TicketObj->RequestorAddresses =~ /username@email1.com/){
$self->TicketObj->SetQueue(“Queue 1”);
return(1);
}
if ($self->TicketObj->RequestorAddresses =~ /username2@email2/){
$self->TicketObj->SetQueue(“Queue 2”);
return(1);
}
return(undef);

From reading the autoqueue change I would put this in the clean up code and
just return(1); in the preparation code.

And use OnCreate for the condition and Template: Global template: Blank

(the string between the /'s can be any regex)
Andrew Xenides
System Administrator
EscapeNet
465 South Road
Keswick SA 5035
T: (08) 8292 5200
F: (08) 8292 5299
E: andrew@staff.esc.net.au
W: http://www.esc.net.au