JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
api
config
core
lib
models
plugins
test
.editorconfig
.eslintignore
.eslintrc.yaml
.gitignore
.npmignore
CHANGELOG.md
CONTRIBUTING.md
LICENSE
README.md
index.js
package.json
screwdriver.yaml

README.md

Screwdriver Data Schema

Version Downloads Build Status Open Issues Dependency Status License

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

Usage

npm install screwdriver-data-schema

Testing

npm test

License

Code licensed under the BSD 3-Clause license. See LICENSE file for terms.