| 12345678910111213141516171819202122232425262728293031323334 |
- #!/bin/bash
- # Set the pipefail option.
- set -o pipefail
- # Get the Vercel API endpoints.
- GET_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v6/deployments"
- DELETE_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v13/deployments"
- # Create a list of deployments.
- deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID&teamId=$VERCEL_ORG_ID" -H "Authorization: Bearer $VERCEL_TOKEN ")
- #deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID" -H "Authorization: Bearer $VERCEL_TOKEN ")
- # Filter the deployments list by meta.base_hash === meta tag.
- filtered_deployments=$(echo -E $deployments | jq --arg META_TAG "$META_TAG" '[.deployments[] | select(.meta.base_hash | type == "string" and contains($META_TAG)) | .uid] | join(",")')
- filtered_deployments="${filtered_deployments//\"/}" # Remove double quotes
- # Clears the values from filtered_deployments
- IFS=',' read -ra values <<<"$filtered_deployments"
- echo "META_TAG ${META_TAG}"
- echo "Filtered deployments ${filtered_deployments}"
- # Iterate over the filtered deployments list.
- for uid in "${values[@]}"; do
- echo "Deleting ${uid}"
- delete_url="${DELETE_DEPLOYMENTS_ENDPOINT}/${uid}?teamId=${VERCEL_ORG_ID}"
- echo $delete_url
- # Make DELETE a request to the /v13/deployments/{id} endpoint.
- curl -X DELETE $delete_url -H "Authorization: Bearer $VERCEL_TOKEN"
- echo "Deleted!"
- done
|