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
diff --git a/tools/zuul-changes.py b/tools/zuul-changes.py
new file mode 100755
index 0000000..4e207ef
--- /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)