A pre-commit hook for validating files against jsonschemas.
Project description
check-jsonschema
A pre-commit hook for checking files against a JSONSchema. The schema may be specified as a local or remote (HTTP or HTTPS) file.
Remote files are automatically downloaded and cached if possible.
Supported Hooks
The most generic hook is this one:
- check-jsonschema: Validate JSON or YAML files against a jsonschema on disk or fetched via HTTP(S)
These hooks check known files against schemas provided by Schemastore:
-
check-github-workflows: Validate GitHub Workflows in
.github/workflows/
-
check-github-actions: Validate GitHub Actions in
.github/actions/
or theaction.yml
at the repo root -
check-travis: Validate Travis config
These hooks check known files against schemas provided by other sources:
- check-azure-pipelines: Validate Azure Pipelines config against the schema provided by Microsoft
Example Usage
Validate GitHub Workflows with Schemastore
You can use the schemastore github workflow schema to lint your GitHub workflow
files. This hook is so useful, it's built in as a pre-set. All you need to add
to your .pre-commit-config.yaml
is this:
- repo: https://github.com/sirosen/check-jsonschema
rev: 0.3.0
hooks:
- id: check-github-workflows
Applying an arbitrary schema to files
There is a more general hook available for running any jsonschema against a file or set of files. For example, to implement the GitHub workflow check manually, you could do this:
- repo: https://github.com/sirosen/check-jsonschema
rev: 0.3.0
hooks:
- id: check-jsonschema
name: "Check GitHub Workflows"
language: python
files: ^\.github/workflows/
types: [yaml]
args: ["--schemafile", "https://json.schemastore.org/github-workflow"]
Standalone Usage
You can also pip install check-jsonschema
to run the tool manually.
For full usage info:
check-jsonschema --help
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for check_jsonschema-0.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe3d6828004819124d40e4ff9dc9e426d88ef12791885a664f4201b8fda54203 |
|
MD5 | 01385d114781975c4f329e6e6c00e0a5 |
|
BLAKE2b-256 | 6bdd677c8d7ac5eea9df728e2b6e42fd48e199fcbd2b3e8d29c3d572b5264c50 |