Internal data schema of Screwdriver
This contains the structure/validation for all the models/resources of Screwdriver.
It's broken down into five (5) sections:
- api- API related input/output structure
- config- Screwdriver.yaml definitions
- models- Internal data resources (pipeline, job, build, collection etc.)
- plugins- Plugins (datastore, executor, etc.)
- core- SCM plugin related output structure
The model represents a combination of what is required to create the resource and what is possible for returning from the resource.
Each model contains eight (8) schemas:
- base- List of all available fields in the model
- allKeys- List of all fields in the model
- get- Expected return values from a GET request against this resource
- create- Expected input values when making a CREATE action against this resource
- update- Expected input values when making an UPDATE action against this resource
- keys- List of keys that combine to represent a unique row
- tableName- Internal name of the table
- indexes- Secondary indexes to make search/lookup faster
Please read Migrations before adding anything to the data-schema
npm install screwdriver-data-schemanpm testCode licensed under the BSD 3-Clause license. See LICENSE file for terms.