This commit is contained in:
22
scripts/verify-openapi.sh
Executable file
22
scripts/verify-openapi.sh
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# This script checks for differences between the generated OpenAPI schema and the static definition
|
||||
# saved at contrib/openapi.json. If the two are not identical, the script returns an error.
|
||||
|
||||
PROJECT_ROOT="$PWD"
|
||||
CMD="python $PROJECT_ROOT/netbox/manage.py spectacular --format openapi-json"
|
||||
SCHEMA_FILE="$PROJECT_ROOT/contrib/openapi.json"
|
||||
|
||||
# Generate the OpenAPI schema & save it to a temporary file
|
||||
TEMP_FILE=$(mktemp)
|
||||
trap 'rm -f "$TEMP_FILE"' EXIT
|
||||
eval "$CMD > $TEMP_FILE"
|
||||
|
||||
# Run a diff between the original & generated schemas
|
||||
if diff -u "$SCHEMA_FILE" "$TEMP_FILE"; then
|
||||
echo "✅ No changes found."
|
||||
exit 0
|
||||
else
|
||||
echo "❌ Change(s) to OpenAPI schema detected."
|
||||
exit 1
|
||||
fi
|
Reference in New Issue
Block a user