Skip to content

Instantly share code, notes, and snippets.

@jamesbirrellgray
Last active March 2, 2017 09:42
Show Gist options
  • Save jamesbirrellgray/bbc964b619468d3c06efe341d4f8bed6 to your computer and use it in GitHub Desktop.
Save jamesbirrellgray/bbc964b619468d3c06efe341d4f8bed6 to your computer and use it in GitHub Desktop.
CJSCP Service Manifest JSON Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"title": "Root schema.",
"description": "Array of Service Manifiests to describe features, dependencies and test suites.",
"items": {
"type": "object",
"title": "0 schema.",
"description": "Service Object.",
"properties": {
"serviceId": {
"type": "string",
"title": "ServiceId schema.",
"description": "UUID to identify the Service.",
"default": "UUID"
},
"serviceName": {
"type": "string",
"title": "ServiceName schema.",
"description": "The Service Name.",
"default": "My new Service"
},
"serviceDescription": {
"type": "string",
"title": "ServiceDescription schema.",
"description": "A Description of the Service.",
"default": "A long description of the service"
},
"servicePhase": {
"type": "string",
"title": "ServicePhase schema.",
"description": "The GDS phase of the service.",
"default": "Beta"
},
"serviceE2eSuites": {
"type": "array",
"title": "ServiceE2eSuites schema.",
"description": "Protractor E2E/s to run agains the service, could include login etc.",
"items": {
"type": "string",
"title": "1 schema.",
"description": "The name of the E2E suite to run.",
"default": "suiteName"
}
},
"serviceFeatures": {
"type": "array",
"title": "ServiceFeatures schema.",
"description": "An explanation about the purpose of this instance.",
"items": {
"type": "object",
"title": "2 schema.",
"description": "The switchable features included in this Service.",
"properties": {
"featureId": {
"type": "string",
"title": "FeatureId schema.",
"description": "The id of the feature used to identify and switch.",
"default": "UUID"
},
"featureName": {
"type": "string",
"title": "FeatureName schema.",
"description": "The name of the feature.",
"default": "My global service feature"
},
"featureDescription": {
"type": "string",
"title": "FeatureDescription schema.",
"description": "The description of the feature.",
"default": "Describe my cool feature"
},
"featureType": {
"type": "string",
"title": "FeatureType schema.",
"description": "The type of the feature - Transaction, View, Component, link.",
"default": "Transcation"
},
"featureJiraIds": {
"type": "array",
"title": "FeatureJiraIds schema.",
"description": "An array of Jira ID's asscoaited to the feature.",
"items": {
"type": "string",
"title": "1 schema.",
"description": "The Jira ID.",
"default": "jiraID"
}
},
"featureE2eSuites": {
"type": "array",
"title": "FeatureE2eSuites schema.",
"description": "An array of Protractor E2E suites to run agains the feature.",
"items": {
"type": "string",
"title": "1 schema.",
"description": "The E2E suite name.",
"default": "suiteName"
}
},
"featureDependencies": {
"type": "array",
"title": "FeatureDependencies schema.",
"description": "An array .",
"items": {
"type": "string",
"title": "2 schema.",
"description": "An explanation about the purpose of this instance.",
"default": "UUID"
}
}
},
"required": [
"featureId",
"featureName",
"featureDescription",
"featureType",
"featureJiraIds",
"featureE2eSuites",
"featureDependencies"
]
}
}
},
"required": [
"serviceId",
"serviceName",
"serviceDescription",
"servicePhase",
"serviceE2eSuites",
"serviceFeatures"
]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment