Net::Trac - Interact with a remote Trac instance


    use Net::Trac;

    my $trac = Net::Trac::Connection->new(
        url      => '',
        user     => 'hiro',
        password => 'yatta'

    my $ticket = Net::Trac::Ticket->new( connection => $trac );
    my $id = $ticket->create(summary => 'This product has only a moose, not a pony');

    my $other_ticket = Net::Trac::Ticket->new( connection => $trac );
    print $other_ticket->summary, "\n";

    $ticket->update( summary => 'This project has no pony' );


Net::Trac is simple client library for a remote Trac instance. Because Trac doesn't provide a web services API, this module currently "fakes" an RPC interface around Trac's webforms and the feeds it exports. Because of this, it's somewhat more brittle than a true RPC client would be.

As of now, this module has been tested against Trac 10.4 and Trac 11.0.

The author's needs for this module are somewhat modest and its current featureset reflects this. Right now, only basic read/write functionality for Trac's tickets is provided. Patches would be gratefully appreciated.


This module currently only deals with Trac's bug tracking system.

This module is woefully incomplete.

This module's error handling isn't what it should be.

There are more.

Please send bug reports and patches to


Jesse Vincent <>, Thomas Sibley <>


Copyright 2008-2009 Best Practical Solutions.

This package is licensed under the same terms as Perl 5.8.8.