{ "id": "file:task", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Task", "description": "Task schema for bolt-server", "type": "object", "properties": { "name": { "type": "string", "description": "Task name" }, "metadata": { "type": "object", "description": "The metadata object is optional, and contains metadata about the task being run", "properties": { "description": { "type": "string", "description": "The task description from it's metadata" }, "parameters": { "type": "object", "description": "Object whose keys are parameter names, and values are objects", "properties": { "description": { "type": "string", "description": "Parameter description" }, "type": { "type": "string", "description": "The type the parameter should accept" }, "sensitive": { "description": "Whether the task runner should treat the parameter value as sensitive", "type": "boolean" } } }, "input_method": { "type": "string", "enum": ["stdin", "environment", "powershell"], "description": "What input method should be used to pass params to the task" } } }, "files": { "type": "array", "description": "Description of task files", "items": { "type": "object", "properties": { "uri": { "type": "object", "description": "Information on how to request the file contents", "properties": { "path": { "description": "Relative URI for accessing task contents", "type": "string" }, "params": { "description": "Map of query params when requesting task content", "type": "object", "properties": { "environment": { "description": "Environment the task is in", "type": "string" } }, "required": ["environment"], "additionalProperties": true } }, "required": ["path", "params"], "additionalProperties": true }, "sha256": { "type": "string", "description": "Checksum of file" }, "filename": { "type": "string", "description": "Name of file including extension" }, "size": { "type": "number", "description": "Size of file in bytes" } } }, "required": ["filename", "uri", "sha256"] } }, "required": ["name", "files"], "additionalProperties": false }