Interface for working with Request Tracker (RT) tickets inspired by ActiveRecord.
Ruby
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)
Permalink
Failed to load latest commit information.
lib Parse and set errors on failed ticket create/update Mar 20, 2012
spec Parse and set errors on failed ticket create/update Mar 20, 2012
.gitignore Removed all the stupid .DS_Store files from the manifest. Stupid appl… Aug 14, 2009
Gemfile Added bundle and rspec 2.8.x Mar 20, 2012
Gemfile.lock
History.txt added attribution to hennk for fixes. Sep 15, 2010
README.rdoc
Rakefile removing the 0.9.3 tag from mechanize Mar 17, 2010
roart.gemspec

README.rdoc

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.