Tool for creating custom gerrit dashboard urls to make prioritizing reviews easier. Includes many example dashboards for OpenStack projects.
Go to file
Angus Salkeld 3bd7dcc189 Automatically generate a dash based on "In Progress" bugs
This adds a script to get the "In Progress" bugs for a
particular project and builds prints a URL for the user.

 $ ./gerrit-bug-dash --milestone kilo-rc1 --tag kilo-rc-potential heat

Some notes:
 - it uses launchpadlib to talk to launchpad
 - The presentation of the dashboard could be improved but
   this is just a starting point.
 - The caching could be better.

What I wanted was to know was "what do I need to review for rc1"
(i.e. what are the bugs that are targeted for kilo-rc1 that are in
progress and have reviews up).

This scratches my itch, but will happily do some work on it if others
want it.

Change-Id: I4a97d59631ac9cd344206c6cc48164d6a0d7e57c
2015-05-13 16:03:26 +10:00
dashboards Add Rally dashboard 2015-05-03 12:09:06 +03:00
doc/source Adds 2015 copyright year to the Sphinx documentation 2015-01-07 13:32:50 +01:00
gerrit_dash_creator Automatically generate a dash based on "In Progress" bugs 2015-05-13 16:03:26 +10:00
templates Merge "Add a script to generate a Sphinx dashboard documentation" 2014-11-07 15:01:31 +00:00
tools Add a script to generate a Sphinx dashboard documentation 2014-11-04 08:59:05 +01:00
.gitignore Add a script to generate a Sphinx dashboard documentation 2014-11-04 08:59:05 +01:00
.gitreview add .gitreview file 2014-06-06 15:16:27 -07:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:44 +00:00
gerrit-bug-dash Automatically generate a dash based on "In Progress" bugs 2015-05-13 16:03:26 +10:00
gerrit-dash-creator Transform into a Python module 2014-08-08 08:00:07 +02:00
HACKING.rst Improve documentation 2014-08-08 06:01:05 +00:00
LICENSE Improve documentation 2014-08-08 06:01:05 +00:00
README.rst Merge "Add URL of a daily generated index to the README file" 2014-12-12 15:12:45 +00:00
requirements.txt Automatically generate a dash based on "In Progress" bugs 2015-05-13 16:03:26 +10:00
setup.cfg Automatically generate a dash based on "In Progress" bugs 2015-05-13 16:03:26 +10:00
setup.py Add support for Tox 2014-08-08 06:01:13 +00:00
test-requirements.txt Warn against sorting requirements 2014-09-12 15:28:41 +02:00
tox.ini Add a script to generate a Sphinx dashboard documentation 2014-11-04 08:59:05 +01:00

Gerrit Dashboard Creator

Creates custom URLs for Gerrit dashboards

The Problem

The Gerrit code review system is great, until it gets completely out of control with too much content in it. When you are staring at a single list of 400 reviews, it's completely overwhelming.

Sisyphus never had it so good.

The Solution

I've found that slicing up the giant review task into a set of smaller buckets that you can see actually get smaller as you go through them becomes a far more motivating way of looking at reviews.

As of Gerrit 2.6 there is support for building custom dashboards, both on the server side, and on the client side (as a URL). These are really powerful.

The server side definition for these dashboards is pretty easy to understand, however you need really extreme levels of permissions to create these dashboards. The client side definition is a single URL which is hard to manipulate inline.

This tool takes the server side definition, creates the client side encoding of it, and spits that URL out on the command line. You can then load it in your browser and off you go.

Usage

It's super easy, just check out the code, and pass 1 argument, which is the dashboard file you want the URL for:

$ ./gerrit-dash-creator dashboards/devstack.dash
https://review.openstack.org/#/dashboard/?foreach=%28project%3Aopenstack-dev%2Fdevstack+OR+project%3Aopenstack-dev%2Fdevstack-vagrant+OR+project%3Aopenstack-dev%2Fbashate+OR+project%3Aopenstack-dev%2Fgrenade%29+status%3Aopen+NOT+owner%3Aself+NOT+label%3AWorkflow%3C%3D-1+label%3AVerified%3E%3D1%252cjenkins+NOT+label%3ACode-Review%3E%3D0%252cself&title=Devstack+Review+Inbox&&Needs+Feedback+%28Changes+older+than+5+days+that+have+not+been+reviewed+by+anyone%29=NOT+label%3ACode-Review%3C%3D2+age%3A5d&Your+are+a+reviewer%2C+but+haven%27t+voted+in+the+current+revision=NOT+label%3ACode-Review%3C%3D2%2Cself+reviewer%3Aself&Needs+final+%2B2=label%3ACode-Review%3E%3D2+limit%3A50+NOT+label%3ACode-Review%3C%3D-1%2Cself&Passed+Jenkins%2C+No+Negative+Feedback=NOT+label%3ACode-Review%3E%3D2+NOT+label%3ACode-Review%3C%3D-1+limit%3A50&Wayward+Changes+%28Changes+with+no+code+review+in+the+last+2days%29=NOT+label%3ACode-Review%3C%3D2+age%3A2d

Then put the URL in your browser and off you go.

A daily updated index of all available dashboars is available at http://ghostcloud.net/openstack_gerrit_dashboards/.

Contributions Welcomed

If you have a dashboard definition that your OpenStack team finds useful, please submit a change request via git-review. The list of current outstanding changes can be seen at:

https://review.openstack.org/#/q/status:open+project:stackforge/gerrit-dash-creator,n,z

I'm very happy to include additional interesting examples that teams find useful, and make it possible for teams to explore other approaches to reviewing code.

If you have questions please find me on #openstack-dev, #openstack-infra, or #openstack-qa on FreeNode to discuss.