summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames E. Blair <jeblair@openstack.org>2013-03-06 19:38:55 -0800
committerJenkins <jenkins@review.openstack.org>2013-03-08 17:41:40 +0000
commitc3b8eff63c98e85b44fdbd4035b6e960a1587e19 (patch)
tree708f3e93d3b568bc52e54dfd05c10dc8183bea72
parent1490eba99b2cb4c48796a2b4d490c9b9123a99dd (diff)
downloadzuul-c3b8eff63c98e85b44fdbd4035b6e960a1587e19.tar.gz
Add a utility script for mass-comments.
The script prints a gerrit review command for every change in a given zuul pipeline. Change-Id: Ibdee87ea64c977e7589cbc3ee9567e866cb78341 Reviewed-on: https://review.openstack.org/23784 Reviewed-by: Clark Boylan <clark.boylan@gmail.com> Approved: Jeremy Stanley <fungi@yuggoth.org> Reviewed-by: Jeremy Stanley <fungi@yuggoth.org> Tested-by: Jenkins
-rwxr-xr-xtools/zuul-changes.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/tools/zuul-changes.py b/tools/zuul-changes.py
new file mode 100755
index 000000000..4e207efdf
--- /dev/null
+++ b/tools/zuul-changes.py
@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+# Copyright 2013 OpenStack Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+# Print commands to leave gerrit comments for every change in one of
+# Zuul's pipelines.
+
+import urllib2
+import json
+import sys
+import argparse
+
+parser = argparse.ArgumentParser()
+parser.add_argument('url', help='The URL of the running Zuul instance')
+parser.add_argument('pipeline_name', help='The name of the Zuul pipeline')
+parser.add_argument('comment', help='The text of the Gerrit comment')
+parser.add_argument('--review-host', default='review',
+ help='The Gerrit hostname')
+options = parser.parse_args()
+
+data = urllib2.urlopen('%s/status.json' % options.url).read()
+data = json.loads(data)
+
+for pipeline in data['pipelines']:
+ if pipeline['name'] != options.pipeline_name:
+ continue
+ for queue in pipeline['change_queues']:
+ for head in queue['heads']:
+ for change in head:
+ print 'ssh %s gerrit review %s --message \\"%s\\"' % (
+ options.review_host,
+ change['id'],
+ options.comment)