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::ViaLink::UpdateTicket - update tickets without credentials using a link


This extension allow you to generate a link with arguments that can be used to update a ticket without credentials. For example:

This link set status of ticket #1 to resolved using user #12's identity (usually 'root'). Any person can use this link, but link can do only what's encoded in its content. Any changes in this link will prohibited and ignored.

To generate a link use "Generate" method described below.


This extension works with RT 3.8.1 or newer, to install it use the following commands:

    perl Makefile.PL
    make install

In the update @Plugins option:

    Set( @Plugins, qw(RT::Extension::ViaLink::UpdateTicket ...other extensions...) );



To generate a link use the following code or similar:

    my $link = RT::Extension::ViaLink::UpdateTicket->Generate(
        $session{'CurrentUser'}, id => $TicketObj->id, Status => 'resolved',

First argument is RT::User object everything else are names arguments. id of a ticket you want to update is mandatory, everything else is optional. Arguments and names are the same as in /Ticket/Display.html and handled by Process* methods in RT::Interface::Web. Simple operations are simple, you can cahnge Status, Queue, Owner, dates and other fields, but you can change CFs, links and watchers as well.

User object you provide should be loaded and exist in the DB, all actions stored in the link will be done using odentity of this user.


Ruslan Zakirov <>


Under the same terms as perl itself.