gnome-do JIRA Plugin now at launchpad
Update: The JIRA Plugin is now part of the community plugins source repository. I’ve merged my latest changes, so you’ll find them at: lp:~do-plugins/do-plugins/community. As a result it’s now part of the official community plugins, so you can obtain the binary through the Do repo, which is accessible from the new preferences pane in Do.
I’ve done some major changes such that it’s no longer just a blind regex that produces URLs, but a soap/rss JIRA connector which works out which issues are open and provides you the titles of the issues as you type. A sample of how this looks is shown below.
Being as though I’m now also building against the gnome-do trunk, I’ve decided to avoid the gconf configuration and instead use the new IConfigurable interface. A screenshot of how one configures the plugin is shown below:
At some point I’m wanting to show slightly different icons depending on issue state and/or priority, but that’s a work in progress. If you get the chance to check it out, your comments will be much appreciated.








Hi Andrew, this looks awesome. I use JIRA a lot and would like to have your plugin for gnome-do. I installed it, configured it properly and I'm getting this exception.
Unhandled Exception: System.Net.WebException: The request failed with HTTP status 302: Found
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReceiveResponse (System.Net.WebResponse response, System.Web.Services.Protocols.SoapClientMessage message, System.Web.Services.Protocols.SoapExtension[] extensions) [0x00000]
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (System.String method_name, System.Object[] parameters) [0x00000]
at Atlassian.JiraSoapServiceService.login (System.String in0, System.String in1) [0x00000]
at (wrapper remoting-invoke-with-check) Atlassian.JiraSoapServiceService:login (string,string)
at JIRA.Remote.JIRAServerFacade.getStatuses () [0x00000]
at JIRA.JIRAIssueSource.DoInit () [0x00000]
at JIRA.JIRAIssueSource.DoUpdateItems () [0x00000]
at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void ()
JIRA version is 3.11.
I understand what a HTTP 302 is, but I'm using the same URL that I use in mylyn, so I'm not sure what could be wrong with it. Any help will be appreciated.
Hi,
The base url is used in 3 regards:
1. It has "/rpc/soap/jirasoapservice-v2" appended to it, in-order to create a SOAP end point. ie. http://issues.apache.org/jira/rpc/soap/jirasoapservice-v2. If the 302 comes really early in your logs before you see anything about "Init Status", then maybe rpc isn't enabled on your installation? Try the url in your web browser.
2. It has query urls appended to it. If you saw "Init Status", but then you get the above exception then you've probably provided the correct base url and the bug is in my plugin. The other posibility is the version of JIRA you're using doesn't support the xml output. Try appending the following to your base url as a test: /sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?resolution=-1&sorter/field=priority&sorter/order=DESC&tempMax=100
3. Finally, and I don't think it's possible that you'll get passed 1 & 2 but fail at 3, "/browse/ISSUECODE" is appended to the base url to provide lookups to the issue.
One note though, even if your repository can provide anonymous access, at present you need to provide your username and password as it's required for the JIRA web service.
Unfortunately there are these few potential points of failure due to JIRA not providing a single clean method of obtaining all the information I need from the SOAP service alone. I hope the above helps find the root cause though!
Hey, thanks for the quick response. The protocol in my URL was not OK (duh!). It is https and I entered http. Any easy way to change this configuration value considering that Do is not starting up? Thanks.
I'll try and make sure the exception is caught so that Do starts properly (I thought I'd done this, maybe there is a regression), for now you can type "gconf-editor", and navigate to /apps/gnome-do/plugins/JIRA and edit the value directly.
Thanks! Got it working now. The plugin is great
I just installed the latest version of Gnome-do from the launchpad repository yesterday. I have found an issue with the Jira plugin causing Gnome-do to crash. Below is the output, just before the crash.
Universe contains 793 items.
Universe contains 793 items.
Unhandled Exception: System.Net.WebException: The request timed out
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000]
at System.Net.HttpWebRequest.GetResponse () [0x00000]
at JIRA.Remote.JIRARssClient.DoQuery (System.String queryUrl) [0x00000]
at JIRA.Remote.JIRARssClient.GetRecentlyUpdatedIssues (IList`1 projectIds) [0x00000]
at JIRA.Remote.JIRAServerFacade.GetRecentlyUpdatedIssues (IList`1 projectIds) [0x00000]
at JIRA.JIRAIssueSource.DoUpdateItems () [0x00000]
at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void ()
Any help would be great.
I have confirmed this exception myself, it seems like request timeouts on the update ready cycle can take down gnome-do. When I get the chance soon I'll wrap my update call in a try catch block to avoid this being a problem.
Excellent, thanks
Hi Andrew. First off, AWESOME plugin. Very well done.
I am however having a problem at startup. When I'm not connected to the web, I get the following at Do startup, which causes Do to bail out.
[Info 06:39:52.754] Loaded "View JIRA Issue".
Unhandled Exception: System.Net.WebException: Error: NameResolutionFailure
at System.Net.HttpWebRequest.EndGetRequestStream (IAsyncResult asyncResult) [0x00000]
at System.Net.HttpWebRequest.GetRequestStream () [0x00000]
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (System.String method_name, System.Object[] parameters) [0x00000]
Would it be possible to have the JIRA plugin to handle the case where it cannot connect to JIRA?
Again...very sweet plugin.
Hi John,
Glad you liked the plugin!
In many ways the problem you've got is similar to Anton above. I have a simple fix in mind but I've just been too busy in the last few weeks to get to it. I apologise for the delay but will hopefully have the fix for you guys soon.
Cheers,
Andrew
Hey Andrew,
I opened a launchpad bug (https://bugs.launchpad.net/do-plugins/+bug/268341) and submitted a patch. It simply catches Exception in DoUpdateItems() where the communication with JIRA happens, and spits out an error message if it gets one. Eventually, when you are able to get a connection to the JIRA server (hopped online or onto the corporate network), the next call into the plugin's UpdateItems() by Do, which happens every 5 minutes, will find JIRA and do the indexing.
I'd love for you to review it if you had time.
https://code.launchpad.net/~john-p-wood/do-plugins/268341-jira-fix
Hi John,
I've merged your patch into the community mainline and bumped the plugin version to 2.2. Hopefully it'll be in the official community plugin repository soon. I suppose this won't make all exception problems go away, but it will at least not take down gnome-do when they happen.
Thanks,
Andrew
Hi,
I installed gnome-do from Ubuntus repository and activated this Jira plugin. However, when I enter the configuration info and press save, everything goes blank. Anyone seen this?
I use Jira alot at work so this plugin would be great!
Hi Jocke,
That's a known bug, but unfortunately the project maintainers have
moved all community plugins under the mainline which means I can't fix
it for you until they apply the patch.
see: https://bugs.launchpad.net/do-plugins/+bug/354540
Hope the patch at the above link might be helpful to you.
Hello,
Can you tell us how we could apply that patch if we've downloaded the plugin via Gnome-Do's built-in plugin selector? Seems like we'd need to build from source or something like that, but maybe it's not that complicated? That bug has been open for about 8 months and still hasn't been rolled into the mainline
Thanks!
Unfortunately building from source is the only way for now...
Well, I wasn't sure how to do this exaclty, but I downloaded the source, applied the patch, and ran "./configure" and "make" successfully. Then I thought I could install just the Jira plugin by doing "sudo make install" in the Jira folder, but it put the JIRA.dll in /usr/local/lib/gnome-do/plugins, so I copied it to /usr/lib/gnome-do/plugins, and restarted Gnome Do. The preferences seem to hold, as when I click "Save" the fields no longer go blank like they were before, but maybe I'm not sure how to invoke it correctly. I thought I could type something like "BVC-12345" and be able to select to open ticket BVC-12345, but I don't see any thing in the actions pane that would do that. Am I missing something, or just doing it wrong?
Thanks!
(ps. - any idea when this patch will finally be rolled into a release? I work on a team of about 20 people all on Ubuntu, and most of us are Mac users at home and so are familiar with Quicksilver; having this functionality in Gnome Do would be killer, but everybody compiling it from source would not be.)
Lee,
Sounds like you've done everything write, just make sure you've added the BVC project to the "projects" item in the preference pane. Due to the scan interval in Gnome-Do, it might take a couple of minutes after start before you're able to see all your open tickets.
As far as the patch goes, the project changed their committers list a while ago when they moved the community plugins into the main branch, as a result I'm no longer able to commit directly, and as such have no idea when the patch will make it's way into a release...