From 48df83dcf88fc95136f97241878a4d0da2053367 Mon Sep 17 00:00:00 2001 From: Fabien Boucher Date: Nov 22 2019 16:24:05 +0000 Subject: Fix helper script - remove default pagure.io --- diff --git a/tools/project-settings-helper/README.md b/tools/project-settings-helper/README.md index 31ee57c..094b0b7 100644 --- a/tools/project-settings-helper/README.md +++ b/tools/project-settings-helper/README.md @@ -6,6 +6,11 @@ instance to integrate with Zuul. Indeed some specific settings are needed. See: https://fedoraproject.org/wiki/Zuul-based-ci#Configure_the_repository_for_Zuul +To create the API key: +- https://src.fedoraproject.org/settings +- API keys +- Create key with "Modify an existing project" right + ## Usage: ``` diff --git a/tools/project-settings-helper/helper.py b/tools/project-settings-helper/helper.py index b615898..cc1edd6 100755 --- a/tools/project-settings-helper/helper.py +++ b/tools/project-settings-helper/helper.py @@ -9,8 +9,6 @@ import yaml 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 @@ class PagureAPIClient(): # 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 @@ def set_zuul_settings(client, project, gating): 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 @@ if __name__ == "__main__": 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 @@ if __name__ == "__main__": 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)