Contributions
Contributions to RT
Contains info about software that third parties have contributed to RT. If you know of a contribution or enhancement that is not in this list, please add to the best section possible below, in alphabetical order. Also include notes about the RT versions tested.
You may also want to check the Documentation page because many articles there describe how to add features that RT does not have by default.
Packages that have their own installer have been moved to Extensions.
See Also the outdated Patches, whose content should be moved to the appropriate subsections below.
Coping with Spam
The techniques for dealing with spam span the divisions below and have been collected in a single place for easy review. Please see SpamFiltering, limiting additions to tricks that differ significantly from the existing material for conciseness.
ScripConditions
Custom Conditions. Doesn't matter if it's module or text to fill into "user defined condition" block in the WebUI, all live here.
- Please*, start wiki page names with "On" prefix if you don't want to add condition into CustomConditionSnippets.
- CustomConditionSnippets - very big and organized list of simple conditions
- AnyTransactionSource;
- AnyReminderTransaction - a scrip condition which triggers on all reminder transactions;
- MuteResolve - let resolver choose not to send email on resolve;
- MuteResolve Redux - alternate version of MuteResolve that uses a status code and custom field to avoid some problems;
- NotResolved - a scrip condition to detect all ticket that aren't marked resolved;
- OnCorrespondNotifyAdminCcsNotOwned - Notifies AdminCc only if ticket is unowned
- OnCreateAutoReplyException - a scrip condition that will send AutoReply emails to users except for those in the execption list;
- OnCreateCheckCF - check presence of a mandatory cf on ticket creation;
- OnCreateFromEmail - scrip condition that will send AutoReply emails to users only when a ticket is opened via email;
- OnCreationOfApprovalTicket - a scrip condition that checks if you are creating a new approval ticket
- OnCreatePageOffHours - scrip condition that will send email via the SendEmailAction scrip to and external account. This scrip has an additional condition where it is checking if the request is coming from a specific user or system.
- OnCreateSetUserDetails - parse vCards for user information.
- OnCustomFieldValueChange - this condition matches when CustomField value is changed;
- OnMaxPriority - check if ticket hits maximal priority (used with priority escalation)
- OnMerge - a scrip condition that triggers on ticket merges;
- OnResolveOnce - a scrip condition that matches when a ticket is resolved but only if the ticket was not resolved before;
- OnStatusChange - using RT's condition 'On Resolve' to trigger other conditions
- OnStealEnhanced - small enhancement to the OnSteal condition in "RT Essentials".
- OnTimeEstimated - when the time Time Estimated fields is set
- OnToOrCC - when a request is sent to a particular mailbox
- OnWatcherChange - a scrip condition to detect when a ticket watcher is added or deleted.
- OnWebCorrespond - determines if a reply is from an incoming email message or from the web interface.
- ReplyBasedUponContent - a scrip to reply to an email based upon its content
- ReplyToResolved - a scrip condition to detect all ticket that are marked resolved;
- ShowDashboardTabs - add dashboards to the personal quickbar
- TicketIDMatches.pm - a condition which triggers only one ticket by id;
- UntouchedInHours - scrip condition that checks if a ticket's LastUpdate is more than the specified number of hours;
- OnCorrespondOpenUnlessResolved - condition to stop RT re-opening resolved tickets when the user replies to them by email;
- NoReplyAddress - Use a "no reply" RT email address that posts comments as a Reply/Correspondence (so they can see it in web UI), but does not send email to Requestors
ScripActions
Nice custom ScripActions that makes your life easier.
- AddAdminCc - Add an AdminCc to tickets for a specific queue, or for queue change.
- AddAdminCcAndChangeQueue - Add an AdminCc to a ticket, and move the ticket to a queue.
- AddSquelchedCc - Add group members as Cc to give them access to tickets but without email notifications.
- AddRefersToOnEqualCustomField - Create RefersTo links to tickets with same custom field value
- AddRequestor - Allow some accounts to view a ticket without adding by hand some requestors.
- AddWatcherPerTicket - Add a watcher to a specific ticket (e.g. when certain conditions are met, such as high urgency)
- AddWatchersOnCorrespond - Add Actor & other Cc'd people to ticket on any Correspondence (complement to using ParseNewMessageForTicketCcs to add people on ticket creation).
- AddWatchersOnCorrespondDomains - Modified version of AddWatchersOnCorrespond. Only adds watchers if they are from the same domain as a watcher already on the ticket.
- LoopIn - Similar to AddWatchersOnCorrespond, but with some additional security and rules to prevent random people from getting added to existing tickets.
- AutomaticCustomFieldValue - set CF value by requestor's email address.
- AutoCcOwner - Add the owner as an AdminCc
- AutoCcLastOwner - When the owner is changed, automatically add the previous owner to the Cc list.
- AutoChangeQueue - Change queue if a specific group member take a ticket
- AutoCloseOnNagiosRecoveryMessages - Automatically merges and closes a ticket based on the creation of another ticket, in this case, of a nagios generated RECOVERY e-mail
- AutoSetOwner - how to automatically set owner on resolution
- AutoSetOwnerIfAdminCc - Automatically set ticket owner to an AdminCc
- AutoSetOwnerFromCC - how to automatically set owner from Cc
- BounceMerge - Merge a Mail Bounce into the original Ticket
- CcManagers - Add the manager subgroup of the ticket creator as Cc, useful when managing departments as groups (as rights suggests).
- CopyContentToCF - When called 'On Create' will copy $Transaction->Content to the custom field Problem.
- CreatePriorityBasedOnCustomFieldValues - Automatically set the Priority based on Ticket Urgency and Impact.
- DefaultCustomFieldValue - set default CF value.
- DivideTicketIntoSubtasks - auto-creates new tickets for each subtask in a bulleted list
- DueDateinBusinessHours - scrip action that sets short-term ticket due dates to coincide with business hours
- EscalateTicketOnAction - increment the priority of a ticket whenever a certain action is taken
- ExtractCustomFieldValues - set CustomField with arbitrary data extracted from a ticket using a simple template
- ForkIntoNewTicket - a scrip action to copy response/comment ticket to another ticket
- JumpToFrontPageOnTicketResolve - Admonish me if you wish, but on resolve of a ticket this scrip will redirect your browser to a new URL of your choosing.
- NotifyNonRecipients - notify recipients unless they were already cc'd on the mail
- OnCreateSetDeptHeadCc - On create in the case that CustomField.Department = 'Foo' then add group 'Head Foo' as a Cc
- OnCreateAddGroupCc - On create from Requestor email that matches a regex, add members of arbitrary group to CC list while making sure not to add anyone already associated with the ticket
- OnOwnershipSquelchMailtoQueueWatchers - When a ticket's owner changes from "Nobody" to a regular user, stop sending mail to people who are just Queue Watchers.
- OnQueueChangeFixReminders - Tickets lose reminders when they are moved between queues. This scrip fixes that
- OnQueueChangeResetPriorityAndDueDate - Reset priorities and due date when moving a ticket to another queue.
- OpenTicketOnAllMemberResolve
- OpenDependantsOnResolve
- RemoteControlLimeSurvey2 - new Version of the old RemoteControlLimeSurvey - Scrip action to trigger LimeSurvey to add a token to a given survey.
- ResolveTicket
- SendEmailAction - sends an alert to someone not specified in the ticket
- SendHTMLEmail - modification of RT::Action::SendEmail for sending mails with Content-Type: text/html
- SendNagiosAlert - Send an alert to Nagios if a new or open ticket exists in any defined queues.
- SendAlarmPointEvent - Send an event to alarm point to invoke SMS/Voice/E-mail alerts
- SetActiveOnCustomerReply - detects if a ticket is set to a certain status and changes that status if someone other than the ticket owner replies.
- SetCorresponderAsCC - Add anyone who correspondes on a ticket to CC - for the lazy users.
- SetOwnerAndQueueBySubject - Set queue and owner when the subject matches a regex
- SetTicketPropertiesViaMail - scrip action that allow you to set status, owner and etc via email
- SetTimeWorkedAutomatically - scrip action that updates automatically the Time Worked field on the Ticket
- SpamScore2Priority - Expose message spam score as priority for review
Template parts
Code that you can put into your mail Templates, Template page has also some code snippets.
- AddAttachmentLinksToMail - adds links on file attachments that ticket has
- AddCustomFieldsValuesToMail - puts all CustomFields values into mail
- AddCustomFieldstoTemplates - extracting just one or more CustomFields, without recalling the entire set
- AddTicketHistoryToMail - complex template that adds ticket's history
- AddQueueNameToMailHeaders - add the relevent queue name to mail sent
- AddLastCommentToMail
- AddRichTextEditorToCustomField - add CKEditor to a CustomFields textarea values
- AutoreplyOrCorrespondence - if creator is not requestor use Corresondence instead of Autoreply
- EmailGroup - email an RT Group
- ForkTemplate - send a range of customized responses without hard-coding variants.
- ForwardFirstMessage - re-send the first message (i.e. ticket creation message)
- MailingListIntegration - Scrip + Template to optionally subscribe requestors to a listserv.
- MultipleOutgoingEmailAddresses
- UseActorAsSender
- X-Priority - Maps RT priority field to email priority header.
Callbacks
Callbacks are an easy way to CleanlyCustomizeRT
- CloningQueues - Add user functionality to clone existing queues including templates, scrips, privileges and custom fields during queue creation
- CreateChildTicket - Add a button to the Ticket display to create a child ticket in another queue
- HideTransactions - hide messages from a history view
- ModifyQuery -Change default simple search behavior to in/ex-clude closed tickets, etc.
- MakeClicky:Fedex - Make a link to Fedex tracking website whenever phrase looks like a tracking number
- QuickResolveandQuickReject - Create two actions in Display page which allow you to reject or resolve the ticket without no comments.
- MailtoLinksFromTransactions - Create mailto-inks at the top of transactions
- TwoColumnTicketLayout - Display a ticket's history and metadata side by side
- AutoRequestorTicketSearch - Automatically search for requestor's last updated tickets on creation page
- NewTicketsAlert - Display a messagebox on My RT listing new tickets and add new ticket count to page title
Extensions
Patches, Overlays, Mason components, configuration tools and so on. These extensions are unlikely to become RT core package.
Packages that have their own installer have been moved to Extensions - Below are code bits too small/experimental/etc. to warrant a standalone package:
- AutomaticImageResize -- automatically scale images that are displayed inline in your ticket history
- AutoRedirectToSelfService - automatically redirect your users to Self Service if they don't have "own ticket" permissions;
- BasicVsAdvancedInterface - allow privileged users to choose between the SelfService and RT at a Glance interfaces
- BetterPerformanceWithFullText - tweak to improve full text search in Postgres (and a note about Oracle).
- CalendarWidget - add a the dynarch.com jscalendar widget to pick dates
- CannedReplies - provides drop-down list of templates that can be included in a ticket reply
- ColorizedLinks - colorizing list of Ticket Links depends on it's status
- ConvertMultiSelectToCheckboxes - converts the multiselect customfield into a checkbox interface
- CreateGroupAndAddMembers - an overylay that grants AdminGroupMembership when a user creates a group
- CustomFieldRightsWithoutSeeQueue - for a custom ticket creation form that includes the custom fields and you don't want to turn on the SeeQueue right;
- DisplayCustomFieldsInTicketSearch;
- DisplayCustomFieldsInUserPrefs - add user-based custom fields to User/Prefs.html
- DisplayCustomFieldsOnTicketUpdatePage - Make a ticket's custom fields visible when updating or resolving a ticket.
- EditCustomFieldsOnUpdate - edit custom fields on update, reply, comment...;
- ForwardWithMessage - forward a transaction or ticket WITH a message for the recipient
- GroupMembershipCheck - snippet that can be included in a custom form if you want to limit the display of some things to a specific group;
- HideTransactions - hide messages from a history view
- HomePageSavedSearches - display lists of saved searches on the RT home page;
- HTML5Charts - eye candy with jqplot;
- ImportCustomFieldValues - Fills custom field data from external source;
- LdapSummary - Several authentication and user creation techniques
- MaintenanceMode - a quick and dirty way to shut down your site temporarily
- MandatorySubject - make a ticket's Subject mandatory using JavaScript
- MoreAboutPrivilegedUsers - show the More About box for privileged users
- MoveRTName - Move the $rtname to the end of a subject line
- MultipleSubjectTokens - Change subject token dependend on queue name
- PasswordReset - show password reset on login
- PersistentSessions - Making users' sessions persistent
- PopUpAlert - Send Reply instead of Comment
- QuickTicket - quickly create a ticket on homepage with custom fields and status
- Extension - Queue Change On Update - This is a plugin which adds a callback to RT with the result that you add a Queue change dropdown box to the ticket update page (comment/reply page). Very handy for proper ticket transport between Queue's, especially whena Queue represents a department.
- Rich Text Custom Fields - convert wiki text custom fields into rich text custom fields
- ResolveSendsReply - change the "Resolve" link to reply instead of comment by default
- SelectRequestor - allow user to select requestor from drop down lists instead of typing email address;
- SelectDefaultQueue - Using a user-based custom field, cause all queue name drop down lists to autopick that queue
- SendEmail - lets template send an e-mail without adding RT ticket info to subject line
- ShortcutPopupMenuScript - Javascript based popup menu of useful actions for ticket list
- SideBySideTicketScreen - ticket update screen that shows ticket history "side-by-side" with ticket details.
- SignatureToTheTop - Insert user's signature to the top of the message, not to the bottom as default
- SimpleSearchExcludeResolved - exclude resolved and rejected tickets from simple search results
- ShowStatusInColor - show status (or priority) in Color in Search screens;
- ShowPerQueueInstructions
- SpawnChildTicket - spawn a child ticket in a given queue list;
- SpatialRT - Plot tickets on a map. More of a recipe than a full solution but could be expanded.
- Spreadsheet+RequestorDetails - Creates a Spreadsheet link which includes some requestor details if the user has the rights to see them (Global ACL AdminUsers)
- SpreadsheetDisplayedFields - download just the displayed search result fields into a spreadsheet;
- StockAnswers - insert predefined templates into replies - now with a template editor;
- SuppressOutgoingMail - optionally turn off outgoing mail
- TextBasedPriorities - use
Normal, High, Emergency...
for priority value instead of numbers; - TicketsPerQueue - Display X unowned tickets per queue a user has rights to
- TimeWorked - Display a report with total time worked per queue/per user
- TimeWorkedReport - Display a report with total time worked per user per ticket for one or more queues.
- TimelineStartDue - Modify Timeline package to display tickets using the Start and Due date
- UpdateTimeLeft - update Time Left -field from
Update.html
(/reply, comment/) - ViewMyRequests - mod to SelfService that allows requestors to see ticket summaries, and details of their own tickets;
- WhoHasRightsToWhat - a mason component that makes it easier to understand your complex rights setup.
- WatcherSummary - a mason component that gives you an overview of tickets where a user is listed as a watcher.
- LockLessSessionsMySQL - a new version of Sessions which works in no-locking mode
External utils
Various standalone utilities.
- backupRT - Run a quick backup of RT files (Debian)
- backupRTDB - RT Database Backup Script (Debian)
- BestPracticalRT Mac OSX Widget - simple configurable OSX widget for quick posting tickets
- Bot::BasicBot::Pluggable::Module::RT - an IRC Bot module that allows full querying of RT tickets from an IRC session. It can do as much as RT::Client::REST can.
- CleanupSessions - Clean up old database sessions
- CloseAll - Close all TT in a queue
- ConvertLegacyToRt - Converts a Legacy Flat File to RT Tickets.
- delete-transaction - Original version was old, poured out errors and didn;t work well on 3.8. This one is fixed.
- DenormalizedViewsForReporting - Several views to allow SQL reporting outside of RT.
- Dirt - A web application that provides kanban boards, scrum taskboards, graphical and tabluar reports on top of RT.
- Email reminders
- DueDateRemindersByEmail - A script (to be run daily) that sends email notifications for expired tickets to owners and Queues/Tickets AdminCC
- rt-remind - Stick this in your crontab to send out reminders about open tickets.
- rtReminderMails - Cronscript that sends mails about reminders that are due in the next two days to the ticket and reminder owners.
- rtUnifiedreminder - All the other reminder scripts are based on StartDate, DueDate or Priority but not all organizations make use of those fields. Also, all the other scripts only send plaintext email to the ticket owner. This script sends one HTML mail (so you can click the tickets and links to RT searches) that lists all tickets that seem to be getting too old without being touched. "Too old" is based on LastUpdated field, with the amount of time configurable for New, Open and Stalled tickets.
- rt-askForFeedback - This Script bases on the above "DueDateRemindersByEmail" and got modified in the way, that it sends Mails to customers other than to administrators and Ticket-Owner. You will be able to "remind" customer to get back to you with a reply if the ticket is in "stalled"-State. If there is no response within a time of "x", you can autoclose the ticket.
- F2Wcvs-to-rt - Tool to help converting from the F2W helpdesk system to RT
- graph-mason-deps uses GraphViz to create a graph of which components call each other
- html2mime - small perl script used to create a text/plain part from 100% html messages
- mailfilter - spam checking and more
- Mbox2Rt - import a unix-style mailbox into RT
- ProcmailRecipes - procmail recipes used for email filtering
- RT.bm is a plugin for mozbot that allows some minimal querying of RT tickets from an IRC session.
- rt-adduser (docs) - command line tool to add RT users.
- rt-auth-user - perl script for authenticating a user against RT (both local and external sources through ExternalAuth )
- rt-batch-add-users - command line tool to add a batch of RT users based on data of a csv file.
- [rt-batch-stats RT3BatchStats] - Command Line or batch statistics.
- RtBounceHandler - scan bounce email for ticket details, then post essense of bounce info to that ticket.
- rt-class-map-1.3-pl - Show methods available to specific RT objects.
- rt-cvsgate (docs) - cvs integration for request tracker.
- rt-escalate (ConfigureEscalation) - stick this in your crontab to escalate priority on tickets automatically
- RTLogins - simple php script that creates a login report ("Who's using RT?")
- rt_logins_email2ldap - script to convert email usernames to LDAP/Active Directory usernames
- rt-google-charts - produce google charts for queue statistics
- rt-on-pg-to-mysql - Convert your rt database from postgres to mysql.
- rt-queues Shellscript called from procmail to sort E-Mails to the correct queue. Parses incoming mails and based on addresses in To: and CC: fields automatically sorts mails to the correct queue. This makes changing your MTA configuration for every new queue obsolete.
- RtTalkToSelf - a mail filter script that allows a single RT instance to have one ticket as the "external requestor" of another.
- scan-and-set - sample perl script to all the text attachments of open tickets for a text string and set a custom field with the result.
- statdump/statcron - script and cronjob to generate RT management reports. The original URL is defunct, but a patched version of the scripts are still in listarchives. An updated version that fixed AverageTickets calcs and CURDATE selection used to be available at http://www.lei.net.au/stats.tgz.
- CountTickets - a BASH script to count tickets in a MySQL db.
- ShredderControl - a BASH script to shred tickets using RTx-Shredder.
- MigrateBugzillaToRT - Migrate a Bugzilla instance cleanly to RT
- IntegrateSphinx - How to integrate the Sphinx full-text search engine into RT
- SendingCommentsDirectlyToATicketWithExim4 - How to configure exim4 to send comments to tickets based on ticket ID and custom field values
- rt-clonequeue - a perl script used to create a new queue using an existing one as a template (copying its custom fields, permissions, templates and scrips but not its tickets).
Browser Tools
- AutomaticTextareaAutosave - Firefox + Windows only
- Integrated Browser Search - Add a custom search engine for RT system to your modern browser with OpenSearchPluginForRT. See also SearchRTFromFirefox.
- RTKeyboardShortcut - Firefox + Greasmonky script (can be added to an installation)
Database Queries
Other
- Department of Computer Science and Software Engineering, The University of Melbourne's RT page
- Dirk Pape's RT page (Fixed "Fork" tarball link, I hope it is the right Version.)
- MIT IS&T RT page
- University of Oslo's RT page
- University of Kent's RT page