The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


RT::Extension::MoveRules - control ticket movements between queues


If you move tickets between queues a lot then probably you want to control this process. This extension allows you to configure rules which are required to move a ticket from a queue to another queue, for example if custom field X is equal to Y then a ticket can be moved from queue A to B. As well you can define which fields should be set before move.


This extension works with RT 3.8 and depends on RT::Condition::Complex. Otherwise installation process is usuall:

    perl Makefile.PL
    make install


Extension is controlled with one config option @MoveRules with the following syntax:

    Set( @MoveRules,
            From       => 'queue',
            To         => 'queue',
            Rule       => 'a rule',
            Condition  => 'a rule',
            ShowAction => 1/0,


From and To

These keys define queues either by name or id. Both are mandatory options. Example:

    Set( @MoveRules,
        { From => 'X', To => 'Y' },

Such configuration allows users to move tickets from queue "X" to "Y", but not any other move.


Boolean option that controls whether action for this move is displayed in the action menu (Open, Take) or not. By default no actions are displayed.


Rule is a condition defining additional limits on the move. This is a string with syntax implemented by RT::Condition::Complex and RT::Extension::ColumnMap. Syntax is close to TicketSQL, slightly different, some examples:

    Rule => 'Subject = "good" AND Status = "open"',


Condition is very similar to "Rule". The difference is that users can not see a condition until they try to move a ticket.

Moving limits between condition is up to you, but probably condition is better to leave with checks if a field is empty or not. For example:

    Condition => 'CustomField{"X"} is not empty',


Under the same terms as perl itself.


Ruslan Zakirov <>