| |
@@ -9,8 +9,6 @@
|
| |
|
| |
|
| |
BASE_WH_URL = "https://softwarefactory-project.io/zuul/api/connection/%s/payload"
|
| |
- ZUUL_WH_SRC_F_O = BASE_WH_URL % "src.fedoraproject.io"
|
| |
- ZUUL_WH_PAGURE_IO = BASE_WH_URL % "pagure.io"
|
| |
|
| |
|
| |
class PagureAPIClientException(Exception):
|
| |
@@ -79,10 +77,10 @@
|
| |
# return resp[0]
|
| |
|
| |
|
| |
- def set_zuul_settings(client, project, gating):
|
| |
+ def set_zuul_settings(client, project, gating, host):
|
| |
logging.debug("Get settings config on %s" % project)
|
| |
config = client.get_config(project)
|
| |
- config['Web-hooks'] = ZUUL_WH_SRC_F_O
|
| |
+ config['Web-hooks'] = BASE_WH_URL % host
|
| |
config['pull_requests'] = True
|
| |
config['notify_on_pull-request_flag'] = True
|
| |
if gating:
|
| |
@@ -102,13 +100,13 @@
|
| |
logging.debug("Adding zuul user as admin on %s" % project)
|
| |
|
| |
|
| |
- def process(client, projects, gating):
|
| |
+ def process(client, projects, gating, host):
|
| |
count = 1
|
| |
for project in projects:
|
| |
logging.info('[%s/%s] Applying setting for %s' % (
|
| |
count, len(projects), project))
|
| |
try:
|
| |
- set_zuul_settings(client, project, gating)
|
| |
+ set_zuul_settings(client, project, gating, host)
|
| |
count += 1
|
| |
except Exception:
|
| |
logging.exception("Unable to set settings for %s" % project)
|
| |
@@ -128,7 +126,7 @@
|
| |
parser = argparse.ArgumentParser()
|
| |
parser.add_argument(
|
| |
'--host', help='Pagure instance',
|
| |
- default='pagure.io')
|
| |
+ default='src.fedoraproject.org')
|
| |
parser.add_argument(
|
| |
'--projects',
|
| |
help='Projects to set settings on (comma separated)')
|
| |
@@ -157,9 +155,14 @@
|
| |
parser.print_help()
|
| |
sys.exit(1)
|
| |
|
| |
+ if args.host not in [
|
| |
+ 'pagure.io', 'src.fedoraproject.org']:
|
| |
+ logging.info("%s is an invalid host" % args.host)
|
| |
+ sys.exit(1)
|
| |
+
|
| |
if args.projects:
|
| |
projects = args.projects.split(',')
|
| |
if args.from_yaml:
|
| |
projects = load_projects_from_yaml(
|
| |
args.from_yaml)
|
| |
- process(client, projects, args.gating)
|
| |
+ process(client, projects, args.gating, args.host)
|
| |