diff --git a/script/openqa-clone-custom-git-refspec b/script/openqa-clone-custom-git-refspec index a82aa21389a..c4927b9c133 100755 --- a/script/openqa-clone-custom-git-refspec +++ b/script/openqa-clone-custom-git-refspec @@ -160,6 +160,9 @@ Please try 'curl $json_url' or select another job, e.g. in the same scenario: $h local old_needledir old_needledir=$(echo "$json_data" | jq -r '.NEEDLES_DIR | select (.!=null)') || throw_json_error "$json_url" "$json_data" local needles_dir="${needles_dir:-"$old_needledir"}" + if [[ -n $needles_dir ]]; then + needles_dir=$(echo "$json_data" | jq -r '.NEEDLES_GIT_URL | select (.!=null)') || throw_json_error "$json_url" "$json_data" + fi needles_dir="${needles_dir:-"$old_productdir/needles"}" fi local repo_branch="${repo_branch:-"$repo_name#$branch"}" diff --git a/t/40-script_openqa-clone-custom-git-refspec.t b/t/40-script_openqa-clone-custom-git-refspec.t index 4f022c1c810..91c2d21c01b 100644 --- a/t/40-script_openqa-clone-custom-git-refspec.t +++ b/t/40-script_openqa-clone-custom-git-refspec.t @@ -103,15 +103,15 @@ $expected_re = qr/${expected}/s; test_once $args, $expected_re, 'clone-job command with multiple URLs in PR and job URL'; $ENV{curl_github} = qq{echo -e '{"head": {"label": "user:my/branch"}, "body": "Lorem ipsum"}'; true}; -my $needles = 'my/distri/products/sle/needles'; +my $needles = 'products/sle/needles'; $ENV{curl_openqa} = qq{echo -e '{"TEST": "my_test", "CASEDIR": "my/distri", "PRODUCTDIR": "distri/products/sle", "NEEDLES_DIR": "$needles"}'; true}; -$dirs = "CASEDIR=https://github.com/user/repo.git#my/branch PRODUCTDIR=repo/products/sle NEEDLES_DIR=$needles"; +$dirs = "CASEDIR=https://github.com/user/repo.git#my/branch PRODUCTDIR=repo/products/sle NEEDLES_DIR=distri/$needles"; $expected = $clone_job . '1169326 _GROUP=0 TEST\+=\@user/repo#my/branch BUILD=user/repo#9539 '; $expected_re = qr/${expected}${dirs}/; test_once $args, $expected_re, "PRODUCTDIR is correct when the source job's PRODUCTDIR is a relative directory"; -$needles = "/$needles"; +$needles = "$needles"; $ENV{curl_openqa} = qq{echo -e '{"TEST": "my_test", "CASEDIR": "/my/distri", "PRODUCTDIR": "products/sle", "NEEDLES_DIR": "$needles"}'; true}; $dirs = "CASEDIR=https://github.com/user/repo.git#my/branch PRODUCTDIR=repo/products/sle NEEDLES_DIR=$needles";