Ruby wrapper for the Fogbugz API
Pull request Compare This branch is 19 commits ahead, 1 commit behind gfmurphy:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Ruby FogBugz API Wrapper

An attempt at creating a wrapper for the FogBugz API in Ruby.

FogBugz: FogBugz API Docs:

This is STILL very much a work in progress. It is a refactoring of Austin's original API wrapper. There were four main goals in the refactoring: 1) Provide a single method for executing most of the commands in the API This is accomplised through use of the “lower level” execute_cmd method in the library. Using this method, a client should be able to use the most of the FogBugz API through this library. 2) Decouple the API from the underlying XML parser. I wanted to refactor out the dependecy on Hpricot from within the API. The Xml processing is now refactored into an XmlProcessing module which is currently implemented with Nokogiri. Additional implementations may be added in the future. 3) Improve test coverage. I'm interested in learning more about Mocha and mocking. I plan to fully cover the API with proper testing without a dependency on an actuall FogBugz server. 4) Don't break old clients (too badly ;)). There is is only one small change in the instantiation of the library. I use a factory method instead of calling the constructor directly. Hopefully this impact will be minimal on existing clients. I'm not set in stone on keeping the constructor private so I'm open to suggestions or contributions. Compatibility with Austin's original interfaces will be achevied through a legacy helper module

Please comment on github or contact me directly ( with any input, suggestions, or questions.


Currently the only way to install this gem is to package it locally. $>rake package This will test and bundle the gem and copy it to the dist directory in the source tree. you can then install the local gem.

Gem Dependecies

  • Nokogiri

  • Shoulda


  • A login to a FogBugz server

Example Usage

fb = FogBugz.new_http_instance("", {:use_ssl => true}) # create instance
fb.logon("mylogin","mypassword") # logs into FogBugz and sets token
projects = fb.projects # get the list of projects

See the code and potentially the wiki at for more information. Please read the TODO for things yet to be completed.