Usage

Assuming your JIRA site is at http://jira.enterprise.com, and you have an account picard with password earlgrey, you can connect like so:

require 'jiraby'

jira = Jiraby::Jira.new('http://jira.enterprise.com')
jira.('picard', 'earlgrey')

Using Jiraby from the Ruby console:

$ bundle console
> require 'lib/jiraby/jira'
> jira = Jiraby::Jira.new('http://localhost:8080')
> jira.('username', 'password')
> jira.logout

Methods in the JIRA REST API can be accessed like so:

> jira.get('issue/TEST-1')
=> {"id"=>"10000",
 "self"=>"http://localhost:8080/rest/api/2/issue/10000",
 "key"=>"TEST-1",
 "fields"=>{ ... }
 }

> jira.get('serverInfo')
=> {"baseUrl"=>"http://localhost:8080",
 "version"=>"6.2",
 "versionNumbers"=>[6, 2, 0],
 "buildNumber"=>6252,
 "buildDate"=>"2014-02-19T00:00:00.000-0700",
 "serverTime"=>"2014-03-06T08:27:04.116-0700",
 "scmInfo"=>"aa343257d4ce030d9cb8c531be520be9fac1c996",
 "serverTitle"=>"Jiraby Test"}

> jira.get('resolution/1')
=> {"self"=>"http://localhost:8080/rest/api/2/resolution/1",
 "id"=>"1",
 "description"=>"A fix for this issue is checked into the tree and tested.",
 "name"=>"Fixed"}

Passing parameters to GET:

> jira.get('user/search?username=admin')
=> [{"self"=>"http://localhost:8080/rest/api/2/user?username=admin",
  "key"=>"admin",
  "name"=>"admin",
  "emailAddress"=>"[email protected]",
  "avatarUrls"=>
   {"16x16"=>
     "http://localhost:8080/secure/useravatar?size=xsmall&avatarId=10122",
    "24x24"=>
     "http://localhost:8080/secure/useravatar?size=small&avatarId=10122",
    "32x32"=>
     "http://localhost:8080/secure/useravatar?size=medium&avatarId=10122",
    "48x48"=>"http://localhost:8080/secure/useravatar?avatarId=10122"},
  "displayName"=>"Admin Istrator",
  "active"=>true,
  "timeZone"=>"America/Denver"}]