Roart¶ ↑
\___\__o/ / \
by PJ Davis github.com/pjdavis/roart
DESCRIPTION:¶ ↑
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.
FEATURES/PROBLEMS:¶ ↑
-
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.
SYNOPSIS:¶ ↑
-
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 #-> rimmer@reddwarf.com 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 => 'someone@example.com'))
REQUIREMENTS:¶ ↑
-
mechanize
-
A working RT3 install.
INSTALL:¶ ↑
$ gem sources -a http://gems.github.com $ sudo gem install pjdavis-roart
LICENSE:¶ ↑
(C) PJ Davis <pj.davis@gmail.com> 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.