{ "$schema": "http://json-schema.org/draft-04/schema", "id": "https://raw.githubusercontent.com/hvdb/ado-template-helper/master/template.schema.json", "title": "Azure DevOps Template schema", "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "description": "The template usage option", "pattern": "^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$" }, "name": { "type": "string", "description": "Name of the template that can be used in conditions", "pattern": "^[A-Za-z0-9\\-]+$" }, "friendlyName": { "type": "string", "description": "Descriptive name (spaces allowed). Must be <= 40 chars" }, "description": { "type": "string", "description": "Detailed description of what template template does" }, "helpUrl": { "type": "string" }, "helpMarkDown": { "type": "string" }, "author": { "type": "string" }, "category": { "type": "string", "description": "Where the Template appears in Azure DevOps.", "enum": [ "Build", "Utility", "Test", "Package", "Deploy" ] }, "type": { "type": "string", "description": "What kind of template it is", "enum": [ "stage", "step" ] }, "version": { "type": "string", "description": "Nice to have", "minLength": 5, "maxLength": 14, "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$" }, "releaseNotes": { "type": "string" }, "inputs": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "name", "label", "type" ], "properties": { "name": { "type": "string", "description": "The variable name to use to store the user-supplied value", "pattern": "^[A-Za-z][A-Za-z0-9]*$" }, "label": { "type": "string", "description": "The text displayed to the user for the input label" }, "type": { "type": "string", "description": "The type that dictates the control rendered to the user.", "anyOf": [ { "enum": [ "boolean", "filePath", "multiLine", "pickList", "radio", "secureFile", "string", "int", "identities", "querycontrol" ] }, { "type": "string", "pattern": "^connectedService\\:.+$" } ] }, "defaultValue": { "type": [ "string", "boolean" ], "description": "The default value to apply to this input." }, "required": { "type": "boolean", "description": "Whether the input is a required field (default is false).", "default": false }, "helpMarkDown": { "type": "string", "description": "Help to be displayed when hovering over the help icon for the input. To display URLs use the format [Text To Display](http://Url)" }, "options": { "type": "object", "additionalProperties": true } } } } } }