Add the BugTracker framework and Bugzilla/JIRA bug infoboxes.
Review Request #6047 — Created July 2, 2014 and submitted — Latest diff uploaded
This change adds a new interface to the hosting service app for deeper
integration with bug trackers. At the moment, this interface defines three
methods to fetch information about a given bug, which are used to provide a
hover infobox that shows the summary, description, and status.This interface is currently implemented by the existing Bugzilla backend, and
by a new JIRA backend.The next steps for this is to implement the interface for more bug-tracker
backends, and to start adding capabilities such that Review Board can do things
like add a comment to a bug when a review request linking to it is published.This change is based on these changes by Tomi Äijö: * https://reviews.reviewboard.org/r/5531/ * https://reviews.reviewboard.org/r/5769/ * https://reviews.reviewboard.org/r/5745/
I've made several changes to Tomi's original implementation. The bug infobox
formatting has been cleaned up a bit, especially with regards to the formatting
of the description text. The caching steps are now done in a helper inside the
BugTracker class so we don't have to re-implement it everywhere. I've also made
it so that failures to fetch the bug result in no infobox, rather than an
infobox which just has the ID and nothing else.
- Tested the bug infobox with a bug tracker configured to point to
https://bugzilla.mozilla.org, and https://jira.atlassian.com. Saw that bug
information was fetched correctly and that the infobox looked good. - Tested invalid bug numbers and saw that the infobox request returned 404 and
no infobox was displayed. - Tested that links to existing bug trackers (Google Code, etc) worked well.
- Tested that newly-added bugs linked correctly.
- Ran unit tests.
Diff Revision 2
This is not the most recent revision of the diff. The latest diff is revision 3. See what's changed.
setup.py |
---|
reviewboard/datagrids/columns.py |
---|
reviewboard/hostingsvcs/bugtracker.py |
---|
reviewboard/hostingsvcs/bugzilla.py |
---|
reviewboard/hostingsvcs/jira.py |
---|
reviewboard/reviews/builtin_fields.py |
---|
reviewboard/reviews/urls.py |
---|
reviewboard/reviews/views.py |
---|
reviewboard/scmtools/models.py |
---|
reviewboard/static/rb/css/common.less |
---|
reviewboard/static/rb/js/common.js |
---|
reviewboard/static/rb/js/dashboard/views/dashboardView.js |
---|
reviewboard/static/rb/js/views/reviewRequestEditorView.js |
---|
reviewboard/templates/reviews/bug_infobox.html |
---|
reviewboard/templates/reviews/reviewable_page_data.js |
---|