/govuk-content-schemas

Definitions of the data formats used to represent content on GOV.UK

Primary LanguageJsonnetMIT LicenseMIT

GOV.UK content schemas

Content schemas have now been merged into publishing api so this repository is archived.

Background

This repo contains JSON Schema files and examples of the content that uses them on GOV.UK.

The actual JSON schema files live in dist and are generated from Jsonnet templates in source. Using templates makes it easier to duplicate common blocks across multiple schemas e.g. format and URL fields. Do not edit files in dist manually, as they will be overwritten.

Nomenclature

Schemas and examples are divided into three categories:

  • publisher_v2 - for when a publishing application transmits data to the content store
  • frontend - for data returned by the content store for a frontend application request
  • notification - for broadcasting messages about content items on the message queue

Technical documentation

You can use the GOV.UK Docker environment to run the tests with all the necessary dependencies. Follow the usage instructions to get started.

Use GOV.UK Docker to run any commands that follow.

Running the tests

Run the full test suite and linting:

bundle exec rake

Run the tests only:

bundle exec rake spec

Building the schemas

Use this to validate a change to the schemas, without having to run the tests.

bundle exec rake build

Further documentation

Licence

MIT Licence