Email template based on SLA

We are in the process of implementing SLA’s on our queues (starting with one for testing)
We are running 5.0.2

My SLA config is as follows:

Set( %ServiceBusinessHours, (
‘LU Hours’ => {
1 => { Name => ‘Monday’, Start => ‘08:00’, End => ‘17:00’ },
2 => { Name => ‘Tuesday’, Start => ‘08:00’, End => ‘17:00’ },
3 => { Name => ‘Wednesday’, Start => ‘08:00’, End => ‘17:00’ },
4 => { Name => ‘Thursday’, Start => ‘08:00’, End => ‘17:00’ },
5 => { Name => ‘Friday’, Start => ‘08:00’, End => ‘17:00’ },
holidays => [ “2022-05-23”, #Victoria Day
“2022-07-01”, #Canada Day
“2022-09-05”, #Labour Day
“2022-10-10”, #Thanksgiving
“2022-12-26”, #Boxing Day
},
));

Set( %ServiceAgreements, (
Levels => {
‘5 Business Days’ => {
Response => { RealMinutes => 240 },
Resolve => { BusinessMinutes => 2400, IgnoreOnStatuses => [‘stalled’] },
BusinessHours => ‘LU Hours’,
},

    },
},
QueueDefault => {
    'ServerAdmin' => '5 Business Days',
},

));

We do not assign ownership of tickets, so team members will just go in and grab tickets as they come in. The SLA is designed to ensure that somebody at least acts on a ticket before 4 hours have lapsed. If this doesn’t happen, then my idea is to set up an hourly cron like this:

/opt/rt5/bin/rt-crontool --search=RT::Search::ActiveTicketsInQueue
–search-arg=QUEUE_NAME --condition=RT::Condition::BeforeDue
–condition-arg=4h --action RT::Action::SendEmail --template
4HourSLA

I have no idea how to set the actual template in terms of establishing a generic group email address. Given that there would be no owner of the ticket, I just want an email notification sent to “genericemail@domain.com”. How do I get RT to interpret that address as a recipient of the notification?

I believe you can use RT::Action::Notify with --action-arg "someone@example.com"

Just for the record, I was able to get this working with the following cron:

/opt/rt5/bin/rt-crontool --search=RT::Search::ActiveTicketsInQueue
–search-arg=ServerAdmin --condition=RT::Condition::BeforeDue
–condition-arg=2h --action RT::Action::NotifyAsComment
–template 4HSLA
–transaction=last

I then modified the template being called to have a Cc header specifying the appropriate email address

Would you happen to know whether it’s possible to get this cron to run with an additional filter to that it only runs on tickets where there is no assigned owner?

You can use the RT::Search::FromSQL search module to build a custom RT ticketSQL search and in more extreme cases you could build your own search module