Hi all,<br><div><br>I'm looking to build something to automatically renew a ticket in RT on a regular basis, be it daily, weekly, monthly or yearly.<br>I've had a few thoughts about how it could be done and wanted to present my ideas to the list for feedback, comments, and other advice.
<br><br>My idea is to build upon the Reminders module, or build a similar module RT::Renewals under a similar guise.<br>I see that RT::Reminders extends RT::Ticket and so my thought was that the Subject, Queue and a ticket Content could be entered using the RT::Ticket API. Further fields can then be stored using RT::Attribute to give the following fields:
<br><br>Renewal Frequency - Stored as an Attribute - Denotes how regularly the action should be taken<br>Renewal Field - Stored as an Attribute - Denotes which date field the Renewal Frequency should work by (e.g. Due/Resolved/Created/Started/Starts)
<br>Renewal Action - Stored as an Attribute - What to do when the ticket is renewed - e.g. Re-open as new, re-open as open, new ticket<br>Subject - RT::Ticket - The subject of the ticket when it is re-opened/created<br>Content - RT::Ticket - The text the ticket is re-opened with
<br>Queue - RT::Ticket - The queue the ticket should go into.<br><br>My idea was to link the renewal to a ticket using the Refer To field. This way, several tickets can be group together under the same renewal object.<br>
<br>I'm not totally sure what the best way to check for necessary renewals is but the obvious way is a system cron job of some nature. Alternative suggestions on a postcard please :)<br><br>To prevent a ticket from being renewed in the future, removing it's reference in the Refer To field should suffice and to add an additional ticket into the renewal system, adding it should again suffice.
<br clear="all"><br>-- <br>Regards,<br></div><div><span class="sg"><br>Andrew Nicols
</span></div>