Project

Profile

Help

Task #90

closed

Move RFEs from Bugzilla to Redmine

Added by bmbouter about 9 years ago. Updated almost 3 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
High
Assignee:
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

100%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
February 2015
Quarter:

Description

Overview

Currently bugzilla.redhat.com has many feature requests in it. These feature requests (RFEs) need to be copied from Bugzilla and into Redmine.

This task involves migrating data between the systems using the Bugzilla and Redmine APIs in an automated way. Keep any code written in playpen of pulp/pulp so that it can be maintained over time. I recommend using one of the Redmine API bindings for Python that can be found on PyPI. Also looking for a bugzilla binding like bugzilla tools may be useful too. Finally, other projects do similar things with [0], so maybe borrow some from their code.

When moving a RFE, you'll have to do the following

0) Ensure that all users from the cc list, the reporter, qe contact, and assignee all have redmine accounts so that we can associate the RFE correctly with the right accounts. Step 0 is about ensuring those accounts are there for each issue migrated to Redmine. You can create accounts for people in redmine here [1].

1) Determine if the issue is private in Bugzilla. If it is private in Bugzilla then the bug created in Redmine needs to also be private.

2) Create the Redmine issue while porting over the following fields: description, priority, severity, status, reporter, assignee, QA-contact, version, and target release.

3) If the Bugzilla issue has the 'Triaged' keyword, ensure the 'Triaged' boolean is set to Yes on the Redmine issue. If the Bugzilla issue has the 'FutureFeature' keyword, ensure the issue uses the Tracker type 'Story' to indicate it is a feature. If there are any other keywords those need to be tracked somehow too.

4) The entire history of the bug/RFE should be added into the notes or appended to the description in Redmine. Note that private comments need to be kept private.

5) Put the new Redmine bug into the right Redmine "Project" [2]. What was a 'Component' in Bugzilla is equivalent to the different "projects" in Redmine.

6) Move any attachments also.

7) Add a link on the redmine issue that links back to the original Bugzilla location. Use the 'Bugzilla link' field in Redmine for this. You should use the entire URL.

8) Mark the Redmine issue as a 'Story'. Redmine calls these things 'trackers'.

9) Ensure that the Redmine issue has the right 'watchers' watching it. 'Watch' in redmine means you'll receive an e-mail when an issue is updated. The set of watchers is like the 'cc list' in bugzilla. These can be set for a given issue through the RedMine API, see the watcher_user_ids field on Issues.

Note: you do NOT need to worry about 'blocks' field, those will be handled in a separate task #92.

Here are the things you need to do to each Bugzilla that has been migrated

1. Once a RFE is copied into Redmine, the Bugzilla RFE should be CLOSED with the status UPSTREAM.

2. Also in Bugzilla there should be a 'External Tracker' called 'Pulp Redmine' which will accept an integer with the Redmine issue ID. This is how Bugzilla entries will refer to their Redmine counterparts.

3. Add a comment onto the Bugzilla that says 'Moved to XXXXX' where XXXXX is the fully qualified URL for the new Redmine issue. This is redundant with the info from step (3) but it will make it clear to those who don't look at the 'External Tracker' field.

Which bugs are RFE's exactly?

Bugzilla RFEs contain the string 'rfe' in them or the keyword 'FutureFeature'. I have created a Bugzilla search[3] which should bugs which match either of these. There are ~125 bugs listed.

[0]: https://gitlab.sat.lab.tlv.redhat.com/satellite6/katello-team/blob/master/scripts/redmine_sync.py
[1]: https://pulp.plan.io/users
[2]: https://pulp.plan.io/projects
[3]: http://tinyurl.com/k2jfnwn


Related issues

Precedes Pulp - Task #91: Move bugs from Bugzilla to Redmine AND communicate switch to communityCLOSED - CURRENTRELEASEbmbouter

Actions
Actions #1

Updated by rbarlow about 9 years ago

On 01/06/2015 09:46 AM, Brian Bouterse wrote:

Once a RFE is copied into Redmine, the bugzilla RFE should be CLOSED
with a yet-to-be-created-in-bugzilla status of 'MOVED_TO_REDMINE'.
Ideally, a custom field would be added to the Pulp Bugzilla that would
allow the redmine issue to be tracked when the bugzilla RFE is closed.
If that is not possible, then a comment can be added with the URL to the
new location in Redmine.

The rest of this all sounds fine, but I doubt we will be able to get
special closed statuses or special fields in BZ. I think closing it with
a final comment of "moved to <link>, please follow the issue there" or
something will suffice.

I also think it would be good to think about if we can include the CC
list, if possible. That may be tricky though, as it will probably
require adding users to our Redmine instance, and perhaps we don't want
to do that.

On 01/06/2015 09:46 AM, Pulp wrote:

Actions #2

Updated by rbarlow about 9 years ago

On 01/06/2015 09:46 AM, Brian Bouterse wrote:

Once a RFE is copied into Redmine, the bugzilla RFE should be CLOSED
with a yet-to-be-created-in-bugzilla status of 'MOVED_TO_REDMINE'.
Ideally, a custom field would be added to the Pulp Bugzilla that would
allow the redmine issue to be tracked when the bugzilla RFE is closed.
If that is not possible, then a comment can be added with the URL to the
new location in Redmine.

The rest of this all sounds fine, but I doubt we will be able to get
special closed statuses or special fields in BZ. I think closing it with
a final comment of "moved to <link>, please follow the issue there" or
something will suffice.

I also think it would be good to think about if we can include the CC
list, if possible. That may be tricky though, as it will probably
require adding users to our Redmine instance, and perhaps we don't want
to do that.

On 01/06/2015 09:46 AM, Pulp wrote:

Actions #3

Updated by bmbouter about 9 years ago

  • Description updated (diff)
Actions #4

Updated by bmbouter about 9 years ago

  • Description updated (diff)
Actions #5

Updated by bmbouter about 9 years ago

I e-mailed the bugzilla maintainers to ask them questions related to new status fields, and external tracker links, etc. I'll report back here when they respond.

Actions #6

Updated by bmbouter about 9 years ago

  • Description updated (diff)
Actions #7

Updated by bmbouter about 9 years ago

  • Description updated (diff)
Actions #8

Updated by mhrivnak about 9 years ago

  • Priority changed from Normal to High
Actions #9

Updated by bmbouter about 9 years ago

  • Description updated (diff)
Actions #10

Updated by bmbouter about 9 years ago

  • Description updated (diff)

@rbarlow, I updated this to accommodate porting user accounts, the cc-list, and with info from the bugzilla support team on the availability of external trackers and custom statuses.

Actions #11

Updated by bmbouter about 9 years ago

  • Description updated (diff)
Actions #12

Updated by bmbouter about 9 years ago

The external tracker was added to Bugzilla, and we already have the keywords. Things we still need are:

1. A custom field added to Redmine that points back to the downstream issue (bugzilla).
2. Somehow track keywords in Redmine issues. I've e-mailed support to inquire if they can install [0].

[0]: http://www.redmine.org/plugins/redmine_tags

Actions #13

Updated by bmbouter about 9 years ago

  • Description updated (diff)

I added the bugzilla and triaged fields to Redmine, and I updated the description to match.

Actions #14

Updated by cduryee about 9 years ago

  • Sprint/Milestone set to 9
Actions #15

Updated by bmbouter about 9 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to bmbouter
Actions #16

Updated by bmbouter about 9 years ago

  • % Done changed from 0 to 40

Got test sites setup for both bugzilla and redmine and python clients talking to both of them. Almost finished porting over users and creating redmine user accounts from the cc list of RFE bugs in bugzilla.

Actions #17

Updated by bmbouter about 9 years ago

  • Sprint/Milestone deleted (9)
Actions #18

Updated by rbarlow about 9 years ago

  • Tags Sprint Candidate added
Actions #19

Updated by mhrivnak about 9 years ago

  • Sprint/Milestone set to 12
Actions #20

Updated by dkliban@redhat.com about 9 years ago

  • Status changed from ASSIGNED to POST
Actions #21

Updated by dkliban@redhat.com about 9 years ago

  • Status changed from POST to ASSIGNED
Actions #22

Updated by bmbouter about 9 years ago

  • % Done changed from 40 to 90

I've got the bugs moved over, but there is still some cleanup work that needs to be done.

  • first/last name cleanup
  • improved handling of user mapping from bugzilla -> redmine
  • review permissions for users with another Pulp team member
  • consolidate pickle files recording events from the migration and ensure they are complete
Actions #23

Updated by bmbouter about 9 years ago

This task still needs two things:

  • External tracker labels applied to the migrated RFEs in Bugzilla
  • Redo the descriptions of the existing ones as notes instead
Actions #24

Updated by bmbouter about 9 years ago

  • Description updated (diff)
Actions #25

Updated by bmbouter about 9 years ago

  • Status changed from ASSIGNED to MODIFIED
  • % Done changed from 90 to 100

I finally completed the last lingering fixes on this. It's done!

Actions #26

Updated by bmbouter about 9 years ago

  • Tags deleted (Sprint Candidate)
Actions #27

Updated by bmbouter almost 9 years ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Actions #28

Updated by bmbouter about 6 years ago

  • Sprint set to February 2015
Actions #29

Updated by bmbouter about 6 years ago

  • Sprint/Milestone deleted (12)
Actions #30

Updated by bmbouter almost 5 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF