[rt-users] rt-crontool on condition x change queue

Joel Bergmark joel.bergmark at t3.se
Wed Oct 19 03:31:47 EDT 2016


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-bounces at lists.bestpractical.com] För Emmanuel Lacour
Skickat: den 18 oktober 2016 16:01
Till: rt-users at 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 ------------------------------------

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20161019/0299d942/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: QChange.pm
Type: application/octet-stream
Size: 2795 bytes
Desc: QChange.pm
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20161019/0299d942/attachment.obj>


More information about the rt-users mailing list