[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