Skip to main content

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 the action.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

check-jsonschema-0.4.1.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

check_jsonschema-0.4.1-py2.py3-none-any.whl (4.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file check-jsonschema-0.4.1.tar.gz.

File metadata

  • Download URL: check-jsonschema-0.4.1.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.5

File hashes

Hashes for check-jsonschema-0.4.1.tar.gz
Algorithm Hash digest
SHA256 9b67af7f16a4e1dc80b7a6e4ed75ea8c038db190c8ee5b6b66b890f00ec69b9f
MD5 a0e6d63d368b93daca5f356483b6c38c
BLAKE2b-256 e0a8152f4a2ddca7ae116374c71813797181ed7830202fa52c85759c68836eee

See more details on using hashes here.

Provenance

File details

Details for the file check_jsonschema-0.4.1-py2.py3-none-any.whl.

File metadata

  • Download URL: check_jsonschema-0.4.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.5

File hashes

Hashes for check_jsonschema-0.4.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 07038a3e6cbd1f65bb4d1b9ad3fba79818fb66ad77460603f499b6343ee059ed
MD5 863f9b6b7bf2237a80a9f1155df0618a
BLAKE2b-256 1f06a279c0bc48af328fb37b3067cb465b310ed15b1956becc4a4f6d3f727848

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page