Gerrit bindings for python
The bindings are still a work in progress!
- Connect to a server:
import gerrit import paramiko pkey = paramiko.RSAKey(filename="/home/foo/.ssh/id_rsa.pub") username = "Bob" host = "example.com" port = 29418 # Default Gerrit ssh port g = Gerrit(host, port, username, pkey)
- Query for changes:
g = Gerrit(host, port, username, pkey) # Query for all changes in project 'bar' including comments changes = g.query("project:bar", options=[QueryOptions.Comments]) for change in changes: print change
- Add a reviewer:
g = Gerrit(host, port, username, pkey) # Query for all changes in project 'bar' including the current patch-set changes = g.query("project:bar", options=[QueryOptions.CurrentPatchSet]) for change in changes: revision = change['currentPatchSet']['revision'] g.set_reviewers(revision, add=[username])
- Add a review
g = Gerrit(host, port, username, pkey) # Query for all changes in project 'bar' including the current patch-set changes = g.query("project:bar", options=[QueryOptions.CurrentPatchSet]) for change in changes: revision = change['currentPatchSet']['revision'] g.review(revision, message="Hello World!")