The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

RT::Extension::ViaLink::UpdateTicket - update tickets without credentials using a link

DESCRIPTION

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

http://rt.example.com/NoAuth/ViaLink/UpdateTicket/12/075f0ac5681a0b8d?Status=resolved&id=1

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.

INSTALLATION

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

    perl Makefile.PL
    make
    make install

In the RT_SiteConfig.pm update @Plugins option:

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

METHODS

Generate

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.

AUTHOR

Ruslan Zakirov <Ruslan.Zakirov@gmail.com>

LICENSE

Under the same terms as perl itself.