<div dir="ltr">Thank you, that looks like it'll work. Did your JSON-like syntax for updating fields ever make it into core for 4.4.1? I found the attachment in your linked message, but it's a bin file and I'm not sure what to do with it.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 17, 2017 at 11:17 AM, Matt Zagrabelny <span dir="ltr"><<a href="mailto:mzagrabe@d.umn.edu" target="_blank">mzagrabe@d.umn.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey Alex,<br>
<span class=""><br>
On Mon, Jan 16, 2017 at 8:18 AM, Alex Hall <<a href="mailto:ahall@autodist.com">ahall@autodist.com</a>> wrote:<br>
> Hi all,<br>
> RT is sending out notifications for old tickets just like we want it to. If<br>
> a ticket hasn't been updated in seven days and the status is open or new,<br>
> the owner gets an email every weekday until the ticket is updated. What I'd<br>
> like to do, though, is have a way of changing that "every weekday" bit for<br>
> stalled tickets.<br>
><br>
> Instead of warning users every weekday about tickets that are stalled and<br>
> haven't been touched in a while, I'd like to warn them once or twice a week.<br>
> I can't run the cron job that seldom, though, or a ticket could go days<br>
> longer than it should without being picked up. Is there any way to only send<br>
> an email to a user if the system has not emailed them in N days? I could add<br>
> a column to the Tickets table for this, or add a new table, but I always<br>
> like to stay clear of database schema modifications if I can. Besides, I<br>
> don't know how to interface with a custom table using RT SQL.<br>
<br>
</span>I wouldn't alter the schema.<br>
<span class=""><br>
> Is there any way of doing this?<br>
<br>
</span>You could use a custom field. Something like "Last Email Notification<br>
Sent At" or something equally verbose. ;)<br>
<br>
Then add that CF to your query about which tickets need to get email<br>
notifications.<br>
<br>
We do essentially what you are asking about. We leverage two things:<br>
<br>
1. rt-crontool can take multiple --action arguments<br>
2. A custom (but it could be "cored") scrip action. The scrip action<br>
is ModifyCustomField. Here is a link to it:<br>
<br>
<a href="http://lists.bestpractical.com/pipermail/rt-devel/2016-December/012601.html" rel="noreferrer" target="_blank">http://lists.bestpractical.<wbr>com/pipermail/rt-devel/2016-<wbr>December/012601.html</a><br>
<br>
Here is one of our cron jobs that keeps track of when it sent an email<br>
and also sends the email:<br>
<br>
0 12 * * * /opt/rt4/bin/rt-crontool --log=warning --search<br>
RT::Search::FromSQL --search-arg ' Queue = "Access Requests" AND<br>
Status = "activated" AND ( ( "CF.{Renewal Verified At}" IS NULL AND<br>
Created <= "1 year ago" ) OR ( "CF.{Renewal Verified At}" IS NOT NULL<br>
AND "CF.{Renewal Verified At}" <= "1 year ago" ) ) AND ( "CF.{Renewal<br>
Verification Sent At}" IS NULL OR "CF.{Renewal Verification Sent At}"<br>
<= "20 days ago" ) ' --transaction-type Create --transaction last<br>
--template "Access Request Renewal Verification" --action<br>
RT::Action::MailRequestors --action-arg "" --action<br>
RT::Action::ModifyCustomField --action-arg '{ "name": "Renewal<br>
Verification Sent At", "operation": "set", "value": "now" }'<br>
<span class="HOEnZb"><font color="#888888"><br>
-m<br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div>Alex Hall<br></div>Automatic Distributors, IT department<br></div><a href="mailto:ahall@autodist.com" target="_blank">ahall@autodist.com</a><br></div></div>
</div>