Interface for working with Request Tracker (RT) tickets inspired by ActiveRecord.
Latest commit f491aff Mar 21, 2012 @pjdavis Merge pull request #4 from ayanko/master
Lazy load connection adapter (ayanko)

Implemented client errors handling on create/update (ayanko)
Failed to load latest commit information.
Gemfile Added bundle and rspec 2.8.x Mar 20, 2012
Gemfile.lock Added bundle and rspec 2.8.x Mar 20, 2012
History.txt added attribution to hennk for fixes. Sep 15, 2010
README.rdoc Forgot to save Readme. Fixed spec that was misbehaving Jan 19, 2010
Rakefile removing the 0.9.3 tag from mechanize Mar 17, 2010



/       \

by PJ Davis


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 => '', :user => 'myuser', :pass => 'mypass'
  • Search for tickets

    my_tickets = Ticket.find(:all, :queue => 'Scutters', :status => [:new, :open])
    my_tickets.each do |ticket|
      puts ticket.subject
    #-> New John Wayne packages
    #-> Medi-lab training
  • See all info for a ticket

    my_ticket = Ticket.find(:first, :queue => 'Issues', :status => :new)
    ticket.creator #->
    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 = => 'some_queue', :subject => 'This is not working for me') #-> 'ticket/new' #-> 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.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 => ''))


  • mechanize

  • A working RT3 install.


$ gem sources -a
$ sudo gem install pjdavis-roart


        (C) PJ Davis <>

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 for more details.