trac4r: Ruby wrapper for the Trac XML-RPC API
- Author
-
Niklas Cathor
- Author
-
David Copeland
- License
-
See LICENSE in source distribution
For more information on the Trac XML-RPC see the plugin’s page on trac-hacks.com
Thanks to the original author, Niklas Cathor, who has done most of the work.
Install
# Only if you haven't set up gemcutter yet
sudo gem install gemcutter
sudo gem tumble
# Once Gemcutter is setup
sudo gem install trac4r
Overview
This wraps the Trac XML-RPC plugin.
require 'rubygems'
require 'trac4r'
# Note that you need to point to the XMLRPC root and not the root of the trac web interface
trac = Trac.new("http://www.example.com/trac/project/xmlrpc","username","password")
trac.tickets.list # get all tickets
trac.tickets.get 2334 # Get ticket #2334
Tickets
Trac’s backbone is tickets. The Tickets class contains many useful methods, but can also run arbitrary queries against Trac using a more Rubyesque syntax:
# Gets all tickets in the "Web" component with a status of either "assigned"
# "accepted", or "new"
available_web_tickets = trac.tickets.query(:component => 'Web', :status => [:assigned,:accepted,:new])
# Ticktes that are not closed
unclosed_tickets = trac.tickets.query(:status => "!closed")
# This is a bit wierd, the "!" in the first element means "none of these values"
not_closed_nor_testing = trac.tickets.query(:status => ["!closed","test"])
:include:trac.rdoc