Skip to content

Commit 19ad648

Browse files
philwebblourw
authored andcommitted
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 spring-projectsgh-44813
1 parent e9b4f9c commit 19ad648

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)