pre-commit Usage¶
check-jsonschema
is designed to seamlessly integrate into your workflow as
a pre-commit hook.
Supported Hooks¶
check-jsonschema
¶
Validate JSON or YAML files against a jsonschema on disk or fetched via HTTP(S).
You must specify a schema using pre-commit args
configuration.
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-jsonschema
files: ^data/.*\.json$
args: ["--schemafile", "schemas/foo.json"]
check-metaschema
¶
Validate JSON Schema files against their matching metaschema, as specified in their
"$schema"
key.
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-metaschema
files: ^schemas/.*\.json$
check-azure-pipelines
¶
Validate Azure Pipelines config against the schema provided by Microsoft
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-azure-pipelines
check-bamboo-spec
¶
Validate Bamboo Specs against the schema provided by SchemaStore
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-bamboo-spec
check-bitbucket-pipelines
¶
Validate Bitbucket Pipelines against the schema provided by SchemaStore
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-bitbucket-pipelines
check-buildkite
¶
Validate Buildkite Pipelines against the schema provided by Buildkite
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-buildkite
check-cloudbuild
¶
Validate Google Cloud Build config against the schema provided by SchemaStore
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-cloudbuild
check-dependabot
¶
Validate Dependabot Config (v2) against the schema provided by SchemaStore
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-dependabot
check-drone-ci
¶
Validate Drone-CI Config against the schema provided by SchemaStore
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-drone-ci
check-github-actions
¶
Validate GitHub Actions against the schema provided by SchemaStore
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-github-actions
check-github-workflows
¶
Validate GitHub Workflows against the schema provided by SchemaStore
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-github-workflows
check-gitlab-ci
¶
Validate GitLab CI config against the schema provided by SchemaStore
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-gitlab-ci
check-readthedocs
¶
Validate ReadTheDocs config against the schema provided by ReadTheDocs
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-readthedocs
check-renovate
¶
Validate Renovate config against the schema provided by Renovate (does not support renovate config in package.json)
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-renovate
check-taskfile
¶
Validate Taskfile config against the schema provided by Task
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-taskfile
check-travis
¶
Validate Travis Config against the schema provided by SchemaStore
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-travis
check-woodpecker-ci
¶
Validate Woodpecker Config against the schema provided by SchemaStore
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-woodpecker-ci
Example Usages¶
Reimplement check-github-workflows¶
Note
This behaves slightly differently from check-github-workflows
and is not
recommended. It is here only to demonstrate how --schemafile
can be used.
The check-jsonschema
hook can run any JSON Schema against a
file or set of files. For example, to implement the GitHub workflow check
manually, you could do this:
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-jsonschema
name: "Check GitHub Workflows"
files: ^\.github/workflows/[^/]+$
types: [yaml]
args: ["--schemafile", "https://json.schemastore.org/github-workflow"]
Check a builtin schema¶
check-jsonschema
packages some builtin schemas for implementing checks.
To check with the builtin schema that a GitHub workflow sets
timeout-minutes
on all jobs:
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.2
hooks:
- id: check-jsonschema
name: "Check GitHub Workflows set timeout-minutes"
files: ^\.github/workflows/[^/]+$
types: [yaml]
args: ["--builtin-schema", "github-workflows-require-timeout"]