Skip to content

Commit 5807fa7

Browse files
committed
Protected against expected Artifactory JSON
Update curl command to Artifactory to ensure that the response JSON has at least one expected field. Prior to this commit, it was possible for Artifactory to return an HTTP 200 response with a failure JSON payload of the form: {"message":"RBv2 spring:spring-release-bundles-v2/<redacted> was not found","status_code":404} We now pipe `curl` output to `jq` and use that to ensure at least one expected field is present. Closes gh-44813
1 parent 02ab29a commit 5807fa7

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

.github/workflows/distribute.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ jobs:
2626
curl -s -u "${{ secrets.COMMERCIAL_ARTIFACTORY_USERNAME }}:${{ secrets.COMMERCIAL_ARTIFACTORY_PASSWORD }}" \
2727
-X POST -H "X-JFrog-Signing-Key-Name: packagesKey" -H "Content-Type: application/json" \
2828
"https://usw1.packages.broadcom.com/lifecycle/api/v2/release_bundle?project=spring" \
29-
-d '{"release_bundle_name": "TNZ-spring-boot-commercial", "release_bundle_version": "${{ inputs.version }}", "skip_docker_manifest_resolution": true, "source_type": "builds", "source": {"builds": [ {"build_repository": "spring-build-info", "build_name": "spring-boot-commercial-${{ inputs.version }}", "build_number": "${{ inputs.build-number }}", "include_dependencies": false}]}}'
29+
-d '{"release_bundle_name": "TNZ-spring-boot-commercial", "release_bundle_version": "${{ inputs.version }}", "skip_docker_manifest_resolution": true, "source_type": "builds", "source": {"builds": [ {"build_repository": "spring-build-info", "build_name": "spring-boot-commercial-${{ inputs.version }}", "build_number": "${{ inputs.build-number }}", "include_dependencies": false}]}}' | \
30+
jq -e 'if has("repository_key") then . else halt_error end'
3031
- name: Sleep
3132
if: ${{ vars.COMMERCIAL && inputs.create-bundle }}
3233
shell: bash
@@ -38,4 +39,5 @@ jobs:
3839
curl -s -u "${{ secrets.COMMERCIAL_ARTIFACTORY_USERNAME }}:${{ secrets.COMMERCIAL_ARTIFACTORY_PASSWORD }}" \
3940
-X POST -H "Content-Type: application/json" \
4041
"https://usw1.packages.broadcom.com/lifecycle/api/v2/distribution/distribute/TNZ-spring-boot-commercial/${{ inputs.version }}?project=spring" \
41-
-d '{"auto_create_missing_repositories": "false", "distribution_rules": [{"site_name": "JP-SaaS"}], "modifications": {"mappings": [{"input": "spring-enterprise-maven-prod-local/(.*)", "output": "spring-enterprise/$1"}]}}'
42+
-d '{"auto_create_missing_repositories": "false", "distribution_rules": [{"site_name": "JP-SaaS"}], "modifications": {"mappings": [{"input": "spring-enterprise-maven-prod-local/(.*)", "output": "spring-enterprise/$1"}]}}' | \
43+
jq -e 'if has("id") then . else halt_error end'

0 commit comments

Comments
 (0)