Views on openstack gerrits
Python
Latest commit 0032c79 Jun 16, 2016 @harlowja committed on GitHub Merge pull request #16 from major/hide-empty-pipelines
Allow empty pipelines to be hidden

README.rst

A set of tools to query/view Gerrit patch reviews and their Zuul status

Current set of tools:

  • qgerrit -- to query different projects' Gerrit reviews based on a set of criteria/filters.
  • cgerrit -- to view (in real time) Gerrit reviews on CLI.
  • czuul -- to view Gerrit reviews' Zuul (a pipeline oriented project gating and automation system) status on CLI.

qgerrit

Use qgerrit to query different projects' Gerrit reviews based on a set of criteria/filters:

$ qgerrit -u 'harlowja'
$ qgerrit -h

Usage: qgerrit [options]

Options:
  -h, --help            show this help message and exit
  -l USER, --login=USER
                        connect to gerrit with USER
  -u USER, --user=USER  gather information on given USER
  -s STATUS, --status=STATUS
                        gather information on given status
  -m MESSAGE, --message=MESSAGE
                        filter on message
  -p PROJECT, --project=PROJECT
                        gather information on given project
  -b BRANCH, --branch=BRANCH
                        filter on branch
  -a APPROVAL, --approval=APPROVAL
                        filter on approval value min %n [default: no filter]
  -k FILE, --keyfile=FILE
                        gerrit ssh keyfile [default: attempt to use
                        local agent]
  -t SORT, --sort=SORT  sort order for results [default: createdOn]
  -n LIMIT, --limit=LIMIT
                        Limit the number of returned results. Note that this
                        limit is applied before sorting
  -d, --deps            Display results as a dependency tree
  -f FIELD, --field=FIELD
                        display field in results [default: 'approvals',
                        'branch', 'createdOn', 'lastUpdated', 'owner',
                        'project', 'status', 'subject', 'topic', 'url']

Examples

  1. To enumerate all reviews requests for openstack/nova which touch a file with libvirt in the name:

    $ qgerrit \
      -l harlowja \
      -f url -f branch -f owner -f subject:100 \
      -f lastUpdated -f createdOn -f approvals \
      --sort createdOn \
      --project openstack/nova \
      libvirt
    
  2. Show reviews for neutron which does not have any negative karma, as those reviews are going to be resubmitted any way:

    $ qgerrit -l harlowja -a c0,v0 neutron
    

(Thanks to Daniel Berrange for the above two examples)

cgerrit

Use cgerrit to watch (in realtime) the reviews showing up (powered by urwid and the gerrit libraries):

https://github.com/harlowja/gerrit_view/raw/master/screenshots/screen1.png
$ cgerrit
$ cgerrit -h

Usage: cgerrit [options]

Options:
  -h, --help            show this help message and exit
  -u USER, --user=USER  gerrit user [default: harlowja]
  -s SERVER, --server=SERVER
                        gerrit server [default: review.openstack.org]
  -p PORT, --port=PORT  gerrit port [default: 29418]
  --prefetch=COUNT      prefetch amount [default: 50]
  -k FILE, --keyfile=FILE
                        gerrit ssh keyfile [default: attempt to use local
                        agent]
  --project=PROJECT     only show given projects reviews
  -v FILE, --verbose=FILE
                        run in verbose mode and log output to the given file
  -i COUNT, --items=COUNT
                        how many items to keep visible [default: 50]
  -r FILE, --record-file=FILE
                        record file to store past events (also used for
                        initial view population if provided)

Keys supported

  • (S, s) - Change sort mode (default none)
  • (q, Q, esc) - Quit
  • (up, down, page up, page down) - Scroll up/down

Examples

  1. To view reviews (real-time) for a specific project:

    $ cgerrit -u harlowja --project=openstack/neutron
    
  2. To view reviews (real-time) for all projects:

    $ cgerrit -u harlowja
    

czuul

Use czuul to watch the reviews zuul status (powered by urwid and the requests libraries):

https://github.com/harlowja/gerrit_view/raw/master/screenshots/screen2.png
$ czuul
$ czuul -h
Usage: czuul [options]

Options:
  -h, --help            show this help message and exit
  -s URL, --server=URL  zuul server [default:
                        http://zuul.openstack.org/status.json]
  --split-screens=SCREENS
                        split screen count [default: 3]
  -p PIPELINE, --pipeline=PIPELINE
                        only show given pipelines reviews
  -r SECONDS, --refresh=SECONDS
                        refresh every X seconds [default: 30]
  --project=PROJECT     only show given projects reviews
  --no-details          skip fetching each reviews details
  -v FILE, --verbose=FILE
                        run in verbose mode and log output to the given file
  --detail-remote=REMOTE_SERVER
                        fetch review remotes from this gerrit server [default:
                        https://review.openstack.org/]

Keys supported

  • (R, r) - Force refresh
  • (q, Q, esc) - Quit
  • (up, down, page up, page down) - Scroll up/down
  • (left, right) - Scroll left/right
  • (enter) - show job details

Examples

  1. To get details about a project:

    $ czuul --project "openstack/nova"
    
  2. To track all OpenStack project details in one go:

    $ czuul --project "openstack/*"