Hi Matt and Byron

Many thanks for your input I think I have a work around.

I tried the LIKE option in the Advanced button at the top of the page but I get 
the horrid red  "Couldn't parse query" error that Matt described in the email 
trail.
So for some reason whilst LIKE works with Fields like Requestor.EmailAddress 
field (as per Byron's email)  it does not work on QUEUE.

I have therefore reviewed the options within the QUERY BUILDER where 'matches' 
is a drop down option.  
There is a long list of fields where this would work (not just REQUESTOR) and 
one of these is QueueAdminCC.

So what I have done is created a Test User in RT and put this Test User as the 
QueueAdminCC for my Queues which have a name with "UAT "in them.  

I can then write Queries with the QUERY BUILDER or the ADVANCED BUTTON that 
include [QueueCc.Name LIKE 'test'] as one of the rules to get all my UAT Queues

This is not ideal but I can now write queries to select several queues that I 
will not need to update each time we add a new Queue - I will simply update our 
internal instructions so that when new Queues are set up them up with the Test 
user in the QueueAdminCC field.

Many thanks

Sally


-----Original Message-----
From: Bryon Baker [mailto:[email protected]] 
Sent: 29 September 2015 16:38
To: Sally Ainsley <[email protected]>; 'Matt Zagrabelny' 
<[email protected]>; 'rt-users' <[email protected]>
Subject: RE: [rt-users] Can I use % wildcard within Query Builder on QUEUES?

Hello Sally and Mat
The like phrase works you just need to use the "Advanced" button at top of 
page.  At that point you can type in the phrase you would like.

I use this phrase in reports because I do not want the data in my calculations.

Requestor.EmailAddress Not Like '%DAEMON%'

Thanks
Bryon Baker
Network Operations Manager
Copesan - Specialists in Pest Solutions
800-267-3726  •  262-783-6261 ext. 2296
[email protected]
www.copesan.com
"Servicing North America with Local Care"

-----Original Message-----
From: rt-users [mailto:[email protected]] On Behalf Of 
Sally Ainsley
Sent: Tuesday, September 29, 2015 10:32 AM
To: 'Matt Zagrabelny'; 'rt-users'
Subject: Re: [rt-users] Can I use % wildcard within Query Builder on QUEUES?

Thanks Matt  for prompt response

I was hoping to do something in the Query Builder as I would need to secure 
some technical resource internally to go down the perl route as I don't have 
the knowledge for perl.  

I got the same error as you below when I tried the LIKE operator.  Perhaps LIKE 
doesn’t work on the QUEUE field for some reason.


Sally Ainsley | Lifecycle Software | T: 01635 553427

-----Original Message-----
From: Matt Zagrabelny [mailto:[email protected]]
Sent: 29 September 2015 16:27
To: [email protected]; rt-users 
<[email protected]>
Subject: Fwd: [rt-users] Can I use % wildcard within Query Builder on QUEUES?

On Tue, Sep 29, 2015 at 10:05 AM, Sally Ainsley 
<[email protected]> wrote:
> Dear All
>
>
>
> I have a range of queries I am trying to create in QUERY BUILDER where 
> I want to include or exclude a list of QUEUES.
>
>
>
> E.g.
>
> QUEUE NAME 1 = BLUE
>
> QUEUE NAME 2 = BLUE -UAT
>
> QUEUE NAME 3 = RED
>
> QUEUE NAME 2 = RED-UAT
>
>
>
> I would like to be able to include or exclude QUEUES with the letters “UAT”
> within them.
>
>
>
> Using the ADVANCED option of the QUERY BUILDER I have tried:
>
>
>
> a)      Queue = '_%UAT'   or    Queue! = '_%UAT'
>
> b)      Queue = ’%UAT’ or        Queue! = '%UAT'
>
>
>
> I have also tried to use MATCHES or LIKE instead of ‘=’ but I cannot 
> get any of this to work.

If it were to work, "LIKE" would be the operator. However, I don't think it 
will work.

If you look at the Search Builder page, there is only "is" and "isn't"
in the drop down for building the Queue predicate.

I just tried it with LIKE and got the following error:

[error]: Couldn't parse query: Invalid Operation: LIKE for Queue at 
/opt/rt4/sbin/../lib/RT/Tickets.pm line 368.

That said, depending on what your final needs are you could write some 
supporting perl to achieve a similar effect:

# Not tested...
my @matching_queues = ();
my $Queues = RT::Queues->new($session{CurrentUser});
while (my $Queue = $Queues->next) {
    if ($Queue->Name =~ /UAT$/) {
        push @matching_queues, $Queue->Name;
    }
}

my $sql =
    join ' OR ',
    map { "Queue = '$_'" },
    @matching_queues,
;

my $Tickets = RT::Tickets->new($session{CurrentUser});
$Tickets->FromSQL($sql);
# end of untested code.

Perhaps that would help.

-m


Reply via email to