Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


jiraSOAP - Ruby interface to the JIRA SOAP API

Uses handsoap to build a client for the JIRA SOAP API that works on MacRuby as well as Ruby 1.9.

You can read the documentation for the latest release or the HEAD commit. The meat of the service is in the RemoteAPI module.


The jira4r gem already exists, and works well on Ruby 1.8, but is not compatible with Ruby 1.9 or MacRuby due to its dependance on soap4r.


Pick up where jira4r left off:

  • Implement the current API; jira4r does not implement APIs from JIRA 4.x
    • not including APIs that have been deprecated in JIRA 4.x
  • More natural interface; not adhering to the API when the API is weird
  • Speed; network latency is bad enough (it would be cool to roflscale)
  • Excellent documentation

Getting Started

jiraSOAP should run on Ruby 1.9.2 and MacRuby 0.8 or newer. It is available through rubygems or you can build from source:

# Using rubygems
gem install jiraSOAP

# Building from source
git clone git://
rake build install

Once installed, you can run a quick demo (making appropriate substitutions):

require 'jiraSOAP'

db = ''
db.login 'user', 'password'

issues = db.get_issues_from_jql_search 'reporter = currentUser()', 100
issues.each { |issue|
  #do something...
  puts issue.key



  • Finish implementing all of the API
  • Stabilize API
  • Performance optimizations; there are a number of places that can be optimized
    • Using GCD/Threads for parsing arrays of results; a significant speed up for large types and large arrays (ie. creating issues from JQL searches)
    • Parsing can be done with array indexing instead of hash lookups
    • Use a different web driver backend (net/http is slow under load)
  • Public test suite
    • Needs a lot of mock data
  • ActiveRecord inspired conveniences
    • 'test role' ).unique? # => check uniqueness
    • args ).create! # => creates a new issue
    • Issue.with_key( 'JIRA-123' ) # => returns result of issue lookup
    • args ).project # => returns a JIRA::Project

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.


Copyright: Marketcircle Inc., 2010-2011

See LICENSE.txt for details.

Something went wrong with that request. Please try again.