A module for validating and parsing a Screwdriver Template file
# example.yaml
name: tkyi/nodejs_main
version: 2.0.1
description: |
Template for a NodeJS main job. Installs the NPM module dependencies and executes
the test target.
maintainer: tiffanykyi@gmail.com
config:
image: node:4
steps:
- install: npm install
- test: npm test
environment:
NODE_ENV: production
secrets:
- NPM_TOKEN
$ npm install screwdriver-template-validator
Validate in Node.js:
const fs = require('fs'); // standard fs module
const validator = require('screwdriver-template-validator');
// The "example.yaml" is the YAML described above
validator(fs.readFileSync('example.yaml'))
.then((templateData) => {
console.log(templateData);
});
Output of the console.log():
{
"name": "tkyi/nodejs_main",
"version": "2.0.1",
"description": "Template for a NodeJS main ...", //truncated for brevity
"maintainer": "tiffanykyi@gmail.com",
"config": {
"environment": {
"NODE_ENV": "production"
},
"image": "node:4",
"secrets": [
"NPM_TOKEN"
],
"steps": [{
"install": "npm install"
}, {
"test": "npm test"
}]
}
}
npm test
Code licensed under the BSD 3-Clause license. See LICENSE file for terms.