\___\__o/ / \
by PJ Davis github.com/pjdavis/roart
If you are using Best Practical's Request Tracker (RT) and you need to interact with tickets from other applications, Roart provides an interface that is slightly reminiscent of ActiveRecord.
Access RT Tickets through an ActiveRecord like API
This has only been tested against RT 3.6. Changes to the REST interface in later versions of RT may break stuff.
Create a class to interact with your ticket system
require 'rubygems' require 'roart' class Ticket < Roart::Ticket connection :server => 'http://my.rt.server.com', :user => 'myuser', :pass => 'mypass' end
Search for tickets
my_tickets = Ticket.find(:all, :queue => 'Scutters', :status => [:new, :open]) my_tickets.each do |ticket| puts ticket.subject end #-> New John Wayne packages #-> Medi-lab training
See all info for a ticket
my_ticket = Ticket.find(:first, :queue => 'Issues', :status => :new) ticket.creator #-> firstname.lastname@example.org ticket.subject #-> Where is the Bomb?
Get history for a ticket
my_ticket.histories #-> Returns an array of history objects
Create a new ticket
issue = Ticket.new(:queue => 'some_queue', :subject => 'This is not working for me') issue.id #-> 'ticket/new' issue.save issue.id #-> 23423
Update a ticket
ticket = Ticket.find(23452) ticket.subject #-> "Some Subject for a ticket." ticket.subject #-> "Smoke me a kipper, I'll be back for breakfast." ticket.save ticket.subject #->"Smoke me a kipper, I'll be back for breakfast."
Comment on a Ticket
ticket = Ticket.find(23452) ticket.comment("This is a lovely Ticket", :time_worked => 45, :cc => 'email@example.com'))
A working RT3 install.
$ gem sources -a http://gems.github.com $ sudo gem install pjdavis-roart
(C) PJ Davis <firstname.lastname@example.org> This program is free software; you can redistribute it and/or modify it under the terms of the WTFPL, Version 2, as published by Sam Hocevar. See http://sam.zoy.org/wtfpl/ for more details.