All checks were successful
CD / Release (push) Successful in 7s
Reviewed-on: #1 Co-authored-by: Timo Behrendt <t.behrendt@t00n.de> Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
33 lines
1.1 KiB
Markdown
33 lines
1.1 KiB
Markdown
# Validate JSON by JSON Schema Action
|
|
|
|
A GitHub Action that automatically validates JSON files using their `$schema` reference. The action extracts the schema URL from the JSON file, downloads it, migrates it to the latest version, and validates the JSON against the schema.
|
|
|
|
## Usage
|
|
|
|
```yaml
|
|
- name: Validate JSON file
|
|
uses: your-username/validate-json-by-json-schema-action@v1
|
|
with:
|
|
json-file: "path/to/your/file.json"
|
|
```
|
|
|
|
## Inputs
|
|
|
|
| Input | Description | Required | Default |
|
|
| ----------- | ------------------------- | -------- | ------- |
|
|
| `json-file` | The JSON file to validate | Yes | - |
|
|
|
|
## How it works
|
|
|
|
1. Extracts the `$schema` URL from the specified JSON file
|
|
2. Downloads the schema from the URL
|
|
3. Migrates the schema to the latest version using `ajv-cli`
|
|
4. Validates the JSON file against the schema
|
|
5. Exits successfully if validation passes, fails if validation fails
|
|
|
|
## Requirements
|
|
|
|
- The JSON file must contain a `$schema` property with a valid URL
|
|
- The schema URL must be accessible via HTTP/HTTPS
|
|
- The action uses `ajv-cli` for validation with `--strict=false` mode
|