launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #02732
[Merge] lp:~wgrant/launchpad/more-bugzilla-importances into lp:launchpad
William Grant has proposed merging lp:~wgrant/launchpad/more-bugzilla-importances into lp:launchpad.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
Related bugs:
#714516 UnknownRemoteImportanceError OOPS when updating remote KDE (bugzilla) bug
https://bugs.launchpad.net/bugs/714516
For more details, see:
https://code.launchpad.net/~wgrant/launchpad/more-bugzilla-importances/+merge/50877
This branch adds a few missing Bugzilla status and importance mappings, and removes one fallback:
- qa.openoffice.org has dropped the severity field, using only P1-P5 importance.
- bugs.kde.org has three new severities: crash, grave, and wishlist.
- bugs.kde.org has renamed the NEEDINFO status to NEEDSINFO.
- CLOSED DUPLICATE now maps to Invalid, as it did until recently.
- Unknown CLOSED/RESOLVED/VERIFIED values no longer explicitly map to Unknown, instead raising an exception that is logged like any other unknown status.
--
https://code.launchpad.net/~wgrant/launchpad/more-bugzilla-importances/+merge/50877
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~wgrant/launchpad/more-bugzilla-importances into lp:launchpad.
=== modified file 'lib/lp/bugs/doc/externalbugtracker-bugzilla.txt'
--- lib/lp/bugs/doc/externalbugtracker-bugzilla.txt 2011-01-19 00:10:48 +0000
+++ lib/lp/bugs/doc/externalbugtracker-bugzilla.txt 2011-02-23 06:55:01 +0000
@@ -282,6 +282,8 @@
'Incomplete'
>>> external_bugzilla.convertRemoteStatus('NEEDINFO_REPORTER').title
'Incomplete'
+ >>> external_bugzilla.convertRemoteStatus('NEEDSINFO').title
+ 'Incomplete'
>>> external_bugzilla.convertRemoteStatus('MODIFIED').title
'Fix Committed'
>>> external_bugzilla.convertRemoteStatus('UPSTREAM').title
@@ -301,6 +303,8 @@
"Won't Fix"
>>> external_bugzilla.convertRemoteStatus('CLOSED INVALID').title
'Invalid'
+ >>> external_bugzilla.convertRemoteStatus('CLOSED DUPLICATE').title
+ 'Invalid'
>>> external_bugzilla.convertRemoteStatus('CLOSED UPSTREAM').title
"Won't Fix"
@@ -311,6 +315,10 @@
Traceback (most recent call last):
...
UnknownRemoteStatusError: FOO
+ >>> external_bugzilla.convertRemoteStatus('CLOSED BAR').title
+ Traceback (most recent call last):
+ ...
+ UnknownRemoteStatusError: CLOSED BAR
Importance Conversion
@@ -341,6 +349,10 @@
'High'
>>> external_bugzilla.convertRemoteImportance('MAJOR').title
'High'
+ >>> external_bugzilla.convertRemoteImportance('CRASH').title
+ 'High'
+ >>> external_bugzilla.convertRemoteImportance('GRAVE').title
+ 'High'
>>> external_bugzilla.convertRemoteImportance('URGENT NORMAL').title
'Medium'
@@ -367,6 +379,8 @@
'Wishlist'
>>> external_bugzilla.convertRemoteImportance('ENHANCEMENT').title
'Wishlist'
+ >>> external_bugzilla.convertRemoteImportance('WISHLIST').title
+ 'Wishlist'
>>> external_bugzilla.convertRemoteImportance('IMMEDIATE').title
'Critical'
@@ -379,6 +393,17 @@
>>> external_bugzilla.convertRemoteImportance('LOW').title
'Low'
+ >>> external_bugzilla.convertRemoteImportance('P5').title
+ 'Critical'
+ >>> external_bugzilla.convertRemoteImportance('P4').title
+ 'High'
+ >>> external_bugzilla.convertRemoteImportance('P3').title
+ 'Medium'
+ >>> external_bugzilla.convertRemoteImportance('P2').title
+ 'Low'
+ >>> external_bugzilla.convertRemoteImportance('P1').title
+ 'Low'
+
Some bugzillas don't provide a value, resulting in blank strings for
priority and severity. We simply leave the importance unknown in this
case.
=== modified file 'lib/lp/bugs/externalbugtracker/bugzilla.py'
--- lib/lp/bugs/externalbugtracker/bugzilla.py 2011-02-17 18:29:23 +0000
+++ lib/lp/bugs/externalbugtracker/bugzilla.py 2011-02-23 06:55:01 +0000
@@ -228,14 +228,22 @@
'critical': BugTaskImportance.CRITICAL,
'immediate': BugTaskImportance.CRITICAL,
'urgent': BugTaskImportance.CRITICAL,
+ 'p5': BugTaskImportance.CRITICAL,
+ 'crash': BugTaskImportance.HIGH,
+ 'grave': BugTaskImportance.HIGH,
'major': BugTaskImportance.HIGH,
'high': BugTaskImportance.HIGH,
+ 'p4': BugTaskImportance.HIGH,
'normal': BugTaskImportance.MEDIUM,
'medium': BugTaskImportance.MEDIUM,
+ 'p3': BugTaskImportance.MEDIUM,
'minor': BugTaskImportance.LOW,
'low': BugTaskImportance.LOW,
'trivial': BugTaskImportance.LOW,
+ 'p2': BugTaskImportance.LOW,
+ 'p1': BugTaskImportance.LOW,
'enhancement': BugTaskImportance.WISHLIST,
+ 'wishlist': BugTaskImportance.WISHLIST,
}
def convertRemoteImportance(self, remote_importance):
@@ -254,7 +262,7 @@
_status_lookup = LookupTree(
('ASSIGNED', 'ON_DEV', 'FAILS_QA', 'STARTED',
BugTaskStatus.INPROGRESS),
- ('NEEDINFO', 'NEEDINFO_REPORTER', 'WAITING', 'SUSPENDED',
+ ('NEEDINFO', 'NEEDINFO_REPORTER', 'NEEDSINFO', 'WAITING', 'SUSPENDED',
'PLEASETEST',
BugTaskStatus.INCOMPLETE),
('PENDINGUPLOAD', 'MODIFIED', 'RELEASE_PENDING', 'ON_QA',
@@ -271,9 +279,8 @@
('OBSOLETE', 'INSUFFICIENT_DATA', 'INCOMPLETE', 'EXPIRED',
BugTaskStatus.EXPIRED),
('INVALID', 'WORKSFORME', 'NOTABUG', 'CANTFIX',
- 'UNREPRODUCIBLE',
- BugTaskStatus.INVALID),
- (BugTaskStatus.UNKNOWN,))),
+ 'UNREPRODUCIBLE', 'DUPLICATE',
+ BugTaskStatus.INVALID))),
('REOPENED', 'NEW', 'UPSTREAM', 'DEFERRED',
BugTaskStatus.CONFIRMED),
('UNCONFIRMED', BugTaskStatus.NEW),