From 782650d7f599030b8aea4937e2746d04b61cd5b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Soko=C5=82owski?= Date: Mon, 20 Feb 2023 12:43:06 +0100 Subject: [PATCH] backend/git_service: check repo URLs from webhook MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since we are cloning a private repo we are using `ssh_url` in our case. Signed-off-by: Jakub SokoĊ‚owski --- src/spiffworkflow_backend/services/git_service.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/spiffworkflow_backend/services/git_service.py b/src/spiffworkflow_backend/services/git_service.py index cf308ef6..16c064d1 100644 --- a/src/spiffworkflow_backend/services/git_service.py +++ b/src/spiffworkflow_backend/services/git_service.py @@ -197,14 +197,13 @@ class GitService: f" body: {webhook}" ) - clone_url = webhook["repository"]["clone_url"] - if ( - clone_url - != current_app.config["SPIFFWORKFLOW_BACKEND_GIT_PUBLISH_CLONE_URL"] - ): + config_clone_url = current_app.config["SPIFFWORKFLOW_BACKEND_GIT_PUBLISH_CLONE_URL"] + repo = webhook["repository"] + valid_clone_urls = [repo["clone_url"], repo["git_url"], repo["ssh_url"]] + if config_clone_url not in valid_clone_urls: raise GitCloneUrlMismatchError( - "Configured clone url does not match clone url from webhook:" - f" {clone_url}" + "Configured clone url does not match the repo URLs from webhook: %s =/= %s" + % (config_clone_url, valid_clone_urls) ) if "ref" not in webhook: