...
Code Block | ||
---|---|---|
| ||
#!/usr/bin/env bash
# Fail if any commands fails
set -ex
maxRetries=3
for (( retry = 0; retry < maxRetries; retry++ ))
do
# Step 1: get the upload URL
echo "Get upload url"
step1_response=$(curl -s -w "%{http_code}" -X POST -H "Authorization: APIKey ${DT_UPLOAD_API_KEY}" --data "" https://api.securetheorem.com/uploadapi/v1/upload_init)
http_code=${step1_response: -3}
response_body=${step1_response::-3}
# For older versions of bash e.g. GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin21)
# response_body=${step1_response%???}
# http_code=${step1_response#${response_body}}
# Check that http status code is 200
[ ! ${http_code} -eq 200 ] && echo ${response_body} && exit 1
upload_url=$(echo ${response_body} | jq -r ".upload_url")
echo ${upload_url}
# Step 2: upload the APK
echo "Upload app"
step2_response=$(curl -F file=@${SIGNED_BINARY_PATH} ${upload_url}) && echo ${step2_response} && break
done
if [ ${retry} -ge ${maxRetries} ]; then
echo "Upload failed after ${maxRetries} attempts"
exit 1
fi |
...