Support GitLab bug watches

Bug #1603679 reported by Barry Warsaw
130
This bug affects 29 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Colin Watson

Bug Description

This matrix describes the supported remote bug trackers: https://help.launchpad.net/Bugs/RemoteTrackerCoverage

which is great! This is a wishlist item for remote tracking gitlab.com bugs. It might make sense to support general GitLab bug tracking as a generic feature (since GitLab CE is open source and making its way into Debian), and gitlab.com (a hosted GitLab EE) as a specific feature.

Related branches

William Grant (wgrant)
tags: added: bugs bugwatch
tags: added: feature
Changed in launchpad:
importance: Undecided → High
status: New → Triaged
Revision history for this message
Mario Limonciello (superm1) wrote :

So recently GNOME migrated over to Gitlab. I'm finding as a result bug tracking from GNOME's bug tracker stopped working.

Here's an example issue:
https://bugs.launchpad.net/gnome-software/+bug/1719797
which is supposed to track https://gitlab.gnome.org/GNOME/gnome-software/issues/253

Revision history for this message
Jeremy Bícha (jbicha) wrote :

See also LP: #1745210

Revision history for this message
Colin Watson (cjwatson) wrote :

Driving the GitLab issues API itself will be pretty easy based on the GitHub implementation; there are differences in details, but if anything it's mostly slightly simpler.

However, one tricky bit here will be that GitLab's issues API absolutely requires authentication. Now, we do authenticate to GitHub as well, but there's only one instance there so we can afford for that to be configured manually. Not so much with the many GitLab instances out there.

I think what we'll probably need to do as part of this is:

 * extend the BugTracker table with somewhere to store credentials
 * add (probably) an OAuth flow to the relevant GitLab instance as part of setting up a bug tracker, so we'd end up with the external bug tracker instance set up to use a particular person's credentials; we might set up some of the more important instances using a dedicated role account
 * add some way to reauthorise an external bug tracker if the previous credentials expire or break or whatever

Revision history for this message
Jeremy Bícha (jbicha) wrote :

I guess these are the main gitlab instances we'd want (although there are several other smaller ones)

https://salsa.debian.org/
https://gitlab.gnome.org/
https://gitlab.freedesktop.org/ (new but I expect many important projects to move there soon)
https://gitlab.com/

Revision history for this message
Wise Melon (wise-melon-deactivatedaccount) wrote :

Given that all GNOME bugs are now being migrated to GitLab I think that it is important that support for this is worked on.

tags: added: git
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Yes please...

I did something for the bot, so once github [1] is set, having multiple gitlab instances is possible, although launchpad should subscribe for API tokens (and in case ask you need higher usage limits, ask upstream - GNOME one is happy to do that).

[1] https://code.launchpad.net/~3v1n0/ubuntu-bots/gitlab-support/

Revision history for this message
Colin Watson (cjwatson) wrote :

This turned out to be easier than we previously thought. I'm not sure whether I'd previously misunderstood the situation or whether something changed on the GitLab side, but William noticed that we can nowadays make the relevant queries without authentication, so we'll do that and see how things go.

tags: added: lp-bugs
Changed in launchpad:
assignee: nobody → Colin Watson (cjwatson)
status: Triaged → In Progress
Colin Watson (cjwatson)
summary: - Remote tracker for gitlab.com
+ Support GitLab bug watches
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
Changed in launchpad:
status: In Progress → Fix Committed
Colin Watson (cjwatson)
tags: added: qa-ok
removed: qa-needstesting
Revision history for this message
Colin Watson (cjwatson) wrote :

I've just rolled this out, so GitLab bug watches and status syncing should work now. Please let us know (preferably via a new bug report) if you run into problems with it.

Changed in launchpad:
status: Fix Committed → Fix Released
information type: Public → Private Security
information type: Private Security → Public
Changed in ubuntu:
status: New → Incomplete
no longer affects: ubuntu
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.