Hello,

Indeed you are right, and I found a guy named Andy Smith in the UK that solved 
the problem, I've attached his solution to the email (not sure if attachments 
works). Put it in rt4/lib/RT/Action/QChange.pm and then call it with relevant 
query with: --action RT::Action::QChange --action-arg YOURQUEUE --template 
'blank'

Works like a charm, I use it in this way for SLA purposes to escalate a TT that 
passes over the defined ServiceAgreement:
rt-crontool --transaction last --search RT::Search::FromSQL --search-arg "Queue 
= 'SLA' AND (Status='new' OR Status='open')" --condition RT::Condition::Overdue 
--action RT::Action::QChange --action-arg QUEUE --template 'SLA-escalation'

Regards, Joel


Från: rt-users [mailto:rt-users-boun...@lists.bestpractical.com] För Emmanuel 
Lacour
Skickat: den 18 oktober 2016 16:01
Till: rt-users@lists.bestpractical.com
Ämne: Re: [rt-users] rt-crontool on condition x change queue

Le 18/10/2016 à 11:03, Joel Bergmark a écrit :
Hi,

Just a quick one this time, is there any easy way to use rt crontool get 
something like this working:

/opt/rt4/bin/rt-crontool --search RT::Search::FromSQL --search-arg "Queue = 'X' 
AND (Status='new' OR Status='open')" --condition RT::Condition::Overdue 
--action RT::Queue  "Newqueue"

I know its not really under rt::action but is there a way to call upon 
rt::queue from this? Tried a bunch of different syntax but get 
"RT::Queue::Prepare Unimplemented in main."



there is no stock SetQueue RT action, you have to write it yourself. Just put 
the following content (untested) in rt/local/lib/RT/Action/SetQueue.pm and call 
it like this:

/opt/rt4/bin/rt-crontool --search RT::Search::FromSQL --search-arg "Queue = 'X' 
AND (Status='new' OR Status='open')" --condition RT::Condition::Overdue 
--action SetQueue --action-arg "Newqueue"


------------------------------------ cut ------------------------------------
package RT::Action::SetQueue;
use base 'RT::Action';

use strict;
use warnings;


sub Describe  {
  my $self = shift;
  return (ref $self . " will set a ticket's queue to the argument provided.");
}


sub Prepare  {
    return 1;
}

sub Commit {
    my $self = shift;
    $self->TicketObj->SetQueue($self->Argument);

}

1;
------------------------------------ cut ------------------------------------

Attachment: QChange.pm
Description: QChange.pm

---------
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017

Reply via email to