Screwdriver Data Schema
Internal data schema of Screwdriver
Description
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
Models
The model represents a combination of what is required to create the resource and what is possible for returning from the resource.
Methodology
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
Contributing
Please read Migrations before adding anything to the data-schema
Usage
npm install screwdriver-data-schema
Testing
npm test
License
Code licensed under the BSD 3-Clause license. See LICENSE file for terms.