{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://devrunbook.local/schemas/condition.schema.json", "title": "DevRunbook Condition", "$ref": "#/$defs/condition", "$defs": { "condition": { "oneOf": [ { "type": "object", "additionalProperties": false, "required": ["fact"], "properties": { "fact": { "type": "object", "additionalProperties": false, "required": ["path", "operator"], "properties": { "path": { "type": "string", "pattern": "^(inputs|repository|composition|platform)(?:\\.[A-Za-z][A-Za-z0-9_-]*)+$", "maxLength": 240 }, "operator": { "enum": ["exists", "truthy", "falsy", "eq", "neq", "in", "not-in", "contains", "gt", "gte", "lt", "lte"] }, "value": {} } } } }, { "type": "object", "additionalProperties": false, "required": ["all"], "properties": { "all": { "type": "array", "minItems": 1, "maxItems": 20, "items": {"$ref": "#/$defs/condition"} } } }, { "type": "object", "additionalProperties": false, "required": ["any"], "properties": { "any": { "type": "array", "minItems": 1, "maxItems": 20, "items": {"$ref": "#/$defs/condition"} } } }, { "type": "object", "additionalProperties": false, "required": ["not"], "properties": { "not": {"$ref": "#/$defs/condition"} } } ] } } }