Hacking JIRA with Ruby
March 19, 2009 at 10:13 pm | Posted in Programming | 8 CommentsI have been reading a lot over the last couple of months. Great books like “The World is Flat 3.0″, “Dreaming in Code”, “My Job went to India”, “The five dysfunctions of a team”, “Clean Code” and quite a few more. However I started to realize that although reading is fun, it tends to keep me in my comfort zone. I should really practice writing. People remember great writers. You hardly ever hear people saying “he was such a great reader” about a person that died hundred years ago.
So I just put down here what I’m doing at the moment. Lately I started to automate some things like writing progress reports for customers. Now please don’t stop reading at the word “progress report”. It might become a bit more interesting than you would expect. Part of my progress report consists of all kinds of metrics about a project: budgets, quality, schedule, etc. These metrics are collected from several systems and JIRA is one of them. Until recently I copied and pasted all this data into OpenOffice, did some magical calculations with a spreadsheet, and finally generated a few graphs which I used in the progress reports. So far the boring part.
However, JIRA also has a very nice RPC plugin which can be used to invoke JIRA operations remotely. And that’s exactly what I’m playing with at the moment. I’m using jira4r as a Ruby client library to automate all my tedious copy and paste actions. First experiments are succesful: with just a couple of lines (3 lines of code to be exact) of Ruby code I’m able to get a listing of all projects registered in a certain JIRA instance. Next step is to find a good library to generate graphs. Oh, and some actual code:
require 'rubygems'
require 'jira4r/jira_tool'
# Replace next url, username and password according to your own JIRA setup
jira = Jira4R::JiraTool.new(2, "http://jira.atlassian.com")
jira.login("soaptester", "soaptester")
# Dump all project descriptions
jira.getProjects.each { |project| puts project.description}
8 Comments »
RSS feed for comments on this post. TrackBack URI
Leave a Reply
Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.
Ow just show the code. You can highlight it later. Good is good enough. Procrastinate not?
Comment by Seth— March 20, 2009 #
@Seth: done
Comment by maurits— March 20, 2009 #
Hi Maurits,
How’s life?
Very interesting to read this
I’ve been using Ruby quite a bit lately, and the company I’m working at now is also using Jira, so I think I’ll have a look into this. Look really interesting!
Best regards,
Arnaud
Comment by Arnaud— March 20, 2009 #
Hi Maurits,Thanks for council, I will try to apply at myself.
Comment by John— February 17, 2010 #
Giving following error,
SOAP::FaultError: No such operation ‘getProjects’
when I access,
jira.getProjects.each { |project| puts project.description}
Any idea ? is this method still there in JIRA api ?
Comment by Baij— June 5, 2010 #
It’s 2012 and these libraries don’t install anymore. Any idea when this gets fixed?
Comment by Tom— February 28, 2012 #
The jira4r library seems pretty old and I have no idea if it’s still supported. Currently moving my own code to Clojure/ClojureScript.
Comment by maurits— February 28, 2012 #
[...] have previously written two posts about getting data from JIRA. In the first one I described how you can do that in Ruby. In the other one I used JavaScript to import JIRA data [...]
Pingback by Extracting data from JIRA using Clojure and REST « Maurits thinks aloud— March 2, 2012 #