[rt-users] Can I use % wildcard within Query Builder on QUEUES?

Bryon Baker bbaker at copesan.com
Tue Sep 29 11:38:03 EDT 2015


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
bbaker at copesan.com
www.copesan.com
"Servicing North America with Local Care"

-----Original Message-----
From: rt-users [mailto:rt-users-bounces at lists.bestpractical.com] 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:mzagrabe at d.umn.edu]
Sent: 29 September 2015 16:27
To: sally.ainsley at lifecycle-software.com; rt-users <rt-users at lists.bestpractical.com>
Subject: Fwd: [rt-users] Can I use % wildcard within Query Builder on QUEUES?

On Tue, Sep 29, 2015 at 10:05 AM, Sally Ainsley <sally.ainsley at lifecycle-software.com> 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



More information about the rt-users mailing list