Add bugwatch support for the JIRA bugtracker

Bug #157488 reported by Diogo Matsubara
220
This bug affects 40 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Triaged
High
Unassigned

Bug Description

Launchpad Bugs should be able to watch bugs in Jira bugtrackers

http://www.atlassian.com/software/jira/

The OpenQA, home of Selenium, is an example of project using Jira bugtracker.
http://jira.openqa.org/secure/Dashboard.jspa

API Docs:
http://confluence.atlassian.com/display/JIRA/API+Documentation

Projects using JIRA (collected from comments here):
Flex - https://bugs.adobe.com/flex/
BlazeDS - https://bugs.adobe.com/blazeds/
Flash Player - https://bugs.adobe.com/flashplayer/
Skype - https://jira.skype.com/
Foresight Linux
imendio
rPath
All projects at Codehaus
Qt - https://bugreports.qt.io
Zend Framework - http://framework.zend.com/issues/browse/ZF
atheme
Nixpkgs - http://bugs.strategoxt.org/browse/NIXPKGS
Jenkins
MariaDB - https://mariadb.atlassian.net
OpenJDK - https://bugs.openjdk.java.net/

Changed in malone:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
jayshao (jayshao) wrote :

Lots of Apache projects and Java open-source projects use JIRA as well. Plus they have a reasonable (and supported :) API for communication.

Revision history for this message
Ken VanDine (ken-vandine) wrote :

Foresight Linux uses JIRA as well, we might consider using launchpad for more if we could watch issues via launchpad

Revision history for this message
Ken VanDine (ken-vandine) wrote :

I know others that use JIRA include imendio and rPath

Revision history for this message
Andres Mujica (andres.mujica) wrote :

Hi. i've just was hit by this bug. I need to add Adobe bug tracking system to launchpad and it uses JIRA, so i was unable to do it

Please add support for this BTS. Thanks

For the record this is used by:

    * Flex - https://bugs.adobe.com/flex/
    * BlazeDS - https://bugs.adobe.com/blazeds/
    * Flash Player - https://bugs.adobe.com/flashplayer/ (this is really important, all those flashplayer bugs that can be linked upstream would be great!!)

and openfire:

http://www.igniterealtime.org/issues/secure/Dashboard.jspa

Thanks for your help

Revision history for this message
Graham Binns (gmb) wrote :

It shouldn't be too hard to do this. I'll target this to the next development cycle for Launchpad Bugs.

Changed in malone:
milestone: none → 2.2.1
status: Confirmed → Triaged
Revision history for this message
Andres Mujica (andres.mujica) wrote :

thks Graham :)

Changed in malone:
milestone: 2.2.1 → none
Revision history for this message
Russel Winder (russel) wrote :

I would just like to add a "vote" for getting this sorted. All the projects at Codehaus use JIRA. Currently Codehaus is a Subversion repository, but due to bzr-svn Bazaar can be used as the VCS with Subversion being a peer. However a place where experimental branches can be exchanged is needed and Launchpad fills this role very well. However not having connections between Launchpad and the Codehaus JIRA store hampers things.

Revision history for this message
Graham Binns (gmb) wrote :

I'll target this to Launchpad 2.2.6 since it's pretty simple to do if we have time. I've filed bug 385079 to track the importing of status and importance from Jira bugs, which is separate from simply allowing people to link to them.

Changed in malone:
milestone: none → 2.2.6
Changed in malone:
milestone: 2.2.6 → 2.2.7
Changed in malone:
milestone: 2.2.7 → 2.2.8
Deryck Hodge (deryck)
Changed in malone:
importance: Medium → Low
milestone: 2.2.8 → none
Revision history for this message
Russel Winder (russel) wrote :

Is this lowering of the priority and removal of the milestone a statement that support for JIRA in Launchpad is never going to happen. If so please just say so explicitly, so that those of us trying to use Launchpad as a support tool for using Bazaar with projects such as those at Codehaus which are fundamentally Subversion/JIRA/Bamboo can reassess their strategy.

Thanks.

Revision history for this message
Graham Binns (gmb) wrote :

> Is this lowering of the priority and removal of the milestone a
> statement that support for JIRA in Launchpad is never going to happen.

No. I expect Deryck would have marked it "Won't fix" in that case.

> If so please just say so explicitly, so that those of us trying to use
> Launchpad as a support tool for using Bazaar with projects such as those
> at Codehaus which are fundamentally Subversion/JIRA/Bamboo can reassess
> their strategy.

It's merely an indication of where this falls on the Bug Tracker developer priority list. There are other, higher priority bugs that we need to fix and we have limited resources.

That said, this isn't a hard bug to fix (it's one of those if-I-just-had-a-spare-afternoon bugs) and I'd happily mentor anyone who wants to submit a patch for it.

To fix it, we need to:

 1. Add a new item to the BugTrackerType enumeration.
 2. Add a parseJIRAURL() method to the BugWatchSet class to allow it to be able to recognise JIRA URLs (we have good testing infrastructure for this, so writing the tests would be a case of subclassing an existing TestCase).
 3. Update any test stories which touch the BugTrackerType enumeration.

Revision history for this message
Russel Winder (russel) wrote : Re: [Bug 157488] Re: Add bugwatch support for the Jira bugtracker

Graham,

Thanks for chipping in quickly on this.

On Fri, 2009-08-28 at 06:09 +0000, Graham Binns wrote:
> > Is this lowering of the priority and removal of the milestone a
> > statement that support for JIRA in Launchpad is never going to happen.
>
> No. I expect Deryck would have marked it "Won't fix" in that case.

OK, that's good to know.

> > If so please just say so explicitly, so that those of us trying to use
> > Launchpad as a support tool for using Bazaar with projects such as those
> > at Codehaus which are fundamentally Subversion/JIRA/Bamboo can reassess
> > their strategy.
>
> It's merely an indication of where this falls on the Bug Tracker
> developer priority list. There are other, higher priority bugs that we
> need to fix and we have limited resources.

My use case is Codehaus projects, of which there are many. Codehaus is
a Subversion site, but they have chosen to go with Git as their DVCS.
They do not provide general repository storage just mainline storage,
GitHub is assumed a player.

Clearly with bzr-svn, Bazaar is a tool that could be used for DVCS with
Subversion as the master -- this is what I do for Gant. However this
relies on using Launchpad (or some such) for the general branch storage.
Having a direct connection between Codehaus' JIRA and Launchpad's bug
tracking would make the infrastructure so much more sane.

> That said, this isn't a hard bug to fix (it's one of those if-I-just-
> had-a-spare-afternoon bugs) and I'd happily mentor anyone who wants to
> submit a patch for it.
>
> To fix it, we need to:
>
> 1. Add a new item to the BugTrackerType enumeration.
> 2. Add a parseJIRAURL() method to the BugWatchSet class to allow it to be able to recognise JIRA URLs (we have good testing infrastructure for this, so writing the tests would be a case of subclassing an existing TestCase).
> 3. Update any test stories which touch the BugTrackerType enumeration.

I can't volunteer to do this I'm afraid, I don't have the time just now
to get knowledgeable about a new codebase.

If anyone does have some spare cycles and knows, or can easily get into,
the codebase, please can I get you to tackle this.

Thanks.

--
Russel.
=============================================================================
Dr Russel Winder Partner
                                            xmpp: <email address hidden>
Concertant LLP t: +44 20 7585 2200, +44 20 7193 9203
41 Buckmaster Road, f: +44 8700 516 084 voip: sip:<email address hidden>
London SW11 1EN, UK m: +44 7770 465 077 skype: russel_winder

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Qt is using Jira now. This would be really nice for Kubuntu, seeing as it's based off of Qt GUI-wise.

Shahar Or (mightyiam)
summary: - Add bugwatch support for the Jira bugtracker
+ Add bugwatch support for the JIRA bugtracker
tags: added: bounty
description: updated
Revision history for this message
Deryck Hodge (deryck) wrote :

I think it would be better to add bounty info or links in comments, rather than the description. Just so that it's clear who the bounty is from.

The bounty link Shahar Or provided is here:
http://www.fossfactory.org/project/p191

description: updated
Revision history for this message
Shahar Or (mightyiam) wrote :

Dear Deryck,

The reason I put it in the description is that almost everyone reads the description. Not everyone reads through all the comments. So I'll put it in the description with my name.

Blessings.

description: updated
Revision history for this message
Micah Gersten (micahg) wrote :

This is used by Zend Framework as well:
http://framework.zend.com/issues/browse/ZF

Shahar Or (mightyiam)
description: updated
Revision history for this message
Will Bickerstaff (willbickerstaff) wrote :

atheme bugs have also moved from bugzilla to jira.

Revision history for this message
Zooko Wilcox-O'Hearn (zooko) wrote :

Hi there I was just wanting to link to this bug tracker for the Nixpkgs project:

http://bugs.strategoxt.org/browse/NIXPKGS

It is a JIRA. I haven't actually used a JIRA before so I might not be a good person to work on this task. However, according to Graham Binns from comment 10:

https://bugs.launchpad.net/malone/+bug/157488/comments/10

"""
To fix it, we need to:

 1. Add a new item to the BugTrackerType enumeration.
 2. Add a parseJIRAURL() method to the BugWatchSet class to allow it to be able to recognise JIRA URLs (we have good testing infrastructure for this, so writing the tests would be a case of subclassing an existing TestCase).
 3. Update any test stories which touch the BugTrackerType enumeration.
"""

That doesn't sound hard at all! I guess the first step for someone like me (or, hopefully, someone else reading this who wants to help) is to get the launchpad source code and run the tests, so that then they can add a test case which is a subclass of an existing one which gives the code under test a JIRA URL and then tests whether that code correctly recognises that URL as being produced by JIRA. Is that right? What is the superclass that we should subclass to do that?

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

Unity-2D uses Qt which uses Jira as mentioned in comment 12. One more reason to add support for this bugtracker.

Revision history for this message
Graham Binns (gmb) wrote :

Re-triaging this as high since it has a number of duplicates and none of the arguments for doing the work have gone away or been proved invalid.

Changed in launchpad:
importance: Low → High
Revision history for this message
James Page (james-page) wrote :

Jenkins also uses JIRA - +1 from me!

Curtis Hovey (sinzui)
description: updated
tags: removed: bounty
Shahar Or (mightyiam)
description: updated
Revision history for this message
Timur Nurlygayanov (tnurlygayanov) wrote :

I create the basic sync Python-script to sync JIRA and launchpad bugs on my projects, and it is works!
https://github.com/stackforge/murano-tests/tree/master/JIRA_with_launchpad_sync

Please feel free to use and modify this script and send me a feedback and any questions.
I hope someone is interested :)

Revision history for this message
Philip Colmer (philip-colmer) wrote :

Hi Timur

Thanks for sharing that script. I note from the description that the script opens a browser, presumably to perform Launchpad authentication. Is there any way to achieve that on a system that doesn't have a GUI, e.g. a server?

Also, presumably if we want to sync multiple projects between LP and JIRA, multiple instances of the script need to be run, each with their own configuration file?

Regards

Philip

Revision history for this message
Timur Nurlygayanov (tnurlygayanov) wrote :

Hi Philip,

yes, now browser is required for this script and I don't know any other authentication methods for launchpad... if it is possible to change authentication type - please give me an example of code, I will add this functionality (or you can push the commit via review.openstack.org)

and yes, exactly, if we want to sync different projects on launchpad and JIRA, we should execute several instances of the script with different configuration files.
We can change this script, if it is real use case - use one script for sync many projects.

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Qt is now a core technology in Ubuntu Touch, so +1 from me as well.

Revision history for this message
Adnane Belmadiaf (daker) wrote :

Hi Philip/Timur

Launchpadlib allows to load credentials from a file, run the script before on your machine, it will open a browser and once you authorise it will generate some access_token/access_secret keys, then all you need is to upload the file to the server :

[1]
consumer_key = System-wide: Ubuntu (xxxx)
consumer_secret =
access_token = xxxxxxxxxxxxxxxxxxxxxxx
access_secret = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

diff

--- jira_sync.py 2013-11-30 22:36:01.922959795 +0000
+++ jira.py 2013-11-30 22:35:15.126960992 +0000
@@ -20,6 +20,7 @@
 from dateutil import parser
 from jira.client import JIRA
 from launchpadlib.launchpad import Launchpad
+from launchpadlib.uris import LPNET_SERVICE_ROOT

 httplib2.debuglevel = 0
@@ -134,7 +135,15 @@

 def get_launchpad_bugs(project):
     project = project.lower()
- launchpad = Launchpad.login_with(project, 'production')
+ cachedir = 'cache'
+ credentials_filename = "credentials.txt"
+ launchpad = Launchpad.login_with(
+ u'YOUR APP',
+ service_root=LPNET_SERVICE_ROOT,
+ credentials_file=credentials_filename,
+ launchpadlib_dir=cachedir
+ )
+
     project = launchpad.projects[project]
     launchpad_bugs = project.searchTasks(status=["New", "Fix Committed",
                                                  "Invalid", "Won't Fix",
@@ -380,4 +389,5 @@
                          user=config.get('JIRA', 'user'),
                          password=config.get('JIRA', 'password'),
                          project=config.get('project', 'name'),
- project_key=config.get('JIRA', 'project_key'))
\ Pas de fin de ligne à la fin du fichier
+ project_key=config.get('JIRA', 'project_key'))
+

Revision history for this message
Donal Fellows (donal-k-fellows) wrote :

The Taverna and Taverna Server projects are also affected by this.

Revision history for this message
dann frazier (dannf) wrote :

MariaDB is also affected by this:
  https://mariadb.atlassian.net

Mattia Rizzolo (mapreri)
description: updated
description: updated
Revision history for this message
David Barth (dbarth) wrote :

If ever that can add to the prioritization of that bug, many Apache projects are now managed on Jira, including the Cordova project.

https://issues.apache.org/jira/

Revision history for this message
Graham Binns (gmb) wrote :

JIRA offers a REST API these days, which would be perfect for Launchpad’s needs.

Revision history for this message
Ganesh Murthy (gmurthy) wrote :

JIRA is very very popular these days and I am surprised to learn that this issue has no milestone.

Revision history for this message
Tiago Stürmer Daitx (tdaitx) wrote :

OpenJDK also relies on JIRA for bug reporting.

description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.