adding statistics and url

This commit is contained in:
2026-02-23 08:02:14 +00:00
parent d9d9ef8f3a
commit d0fdb06851

View File

@ -87,23 +87,70 @@ jobs:
echo "$url was changed"
done <<< "${{ steps.changed-urls.outputs.changed_urls }}"
- name: Validate OpenAPI files
- name: Validate OpenAPI files + show validation results
env:
OPENAPI_TOKEN: ${{ secrets.OPENAPI_TOKEN }}
run: |
set -e
while IFS= read -r url; do
[ -z "$url" ] && continue
echo "$(jq -n --arg path "$url" '{path: $path, export: "xml", ruleset: "default"}')"
echo "Validating $url"
echo "=============================="
echo "Validating: $url"
curl -sS -X POST "https://openapi-validator.eco-preprod.tsi-dev.otc-service.com/api/validate" \
# --- 1. trigger validation ---
VALIDATION_RESPONSE=$(curl -sS -X POST "https://openapi.example.com/api/validate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAPI_TOKEN" \
-d "$(jq -n \
--arg path "$url" \
'{path: $path, export: "xml", ruleset: "default"}')"
'{path: $path, export: "xml", ruleset: "default"}')")
echo "Validation response:"
echo "$VALIDATION_RESPONSE"
# --- 2. extract launch id ---
LAUNCH_UUID=$(echo "$VALIDATION_RESPONSE" | jq -r '.launch.id // empty')
if [ -z "$LAUNCH_UUID" ]; then
echo "❌ Could not extract launch id"
continue
fi
echo "Launch ID: $LAUNCH_ID"
# --- 3. fetch launch details ---
LAUNCH_DETAILS=$(curl -sS \
-H "Authorization: Bearer $OPENAPI_TOKEN" \
"https://openapi.example.com/api/reportportal?project=openapi&launchId=$LAUNCH_UUID")
echo "Launch details:"
echo "$LAUNCH_DETAILS"
# --- 4. extract statistics ---
STATUS=$(echo "$LAUNCH_DETAILS" | jq -r '.status')
TOTAL=$(echo "$LAUNCH_DETAILS" | jq -r '.statistics.executions.total')
PASSED=$(echo "$LAUNCH_DETAILS" | jq -r '.statistics.executions.passed')
FAILED=$(echo "$LAUNCH_DETAILS" | jq -r '.statistics.executions.failed')
SKIPPED=$(echo "$LAUNCH_DETAILS" | jq -r '.statistics.executions.skipped')
# Fetch Launch ID
LAUNCH_ID=$(echo "$LAUNCH_DETAILS" | jq -r '.id')
# fallback if API doesn't return UI link
REPORT_URL="https://reportportal-dev.tsi-dev.otc-service.com/ui/#openapi/launches/all/$LAUNCH_ID"
# --- 5. summary ---
echo ""
echo "📊 Validation summary"
echo "Status: $STATUS"
echo "Total: $TOTAL"
echo "Passed: $PASSED"
echo "Failed: $FAILED"
echo "Skipped: $SKIPPED"
echo "Report: $REPORT_URL"
echo "=============================="
echo
done <<< "${{ steps.changed-urls.outputs.changed_urls }}"
done <<< "${{ steps.changed-urls.outputs.changed_urls }}"