{ "$id": "https://stella-ops.org/schemas/notify/notify-rule@1.json", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Notify Rule", "type": "object", "required": [ "schemaVersion", "ruleId", "tenantId", "name", "enabled", "match", "actions", "createdAt", "updatedAt" ], "properties": { "schemaVersion": {"type": "string", "const": "notify.rule@1"}, "ruleId": {"type": "string"}, "tenantId": {"type": "string"}, "name": {"type": "string"}, "description": {"type": "string"}, "enabled": {"type": "boolean"}, "match": {"$ref": "#/$defs/ruleMatch"}, "actions": { "type": "array", "minItems": 1, "items": {"$ref": "#/$defs/ruleAction"} }, "labels": {"$ref": "#/$defs/stringMap"}, "metadata": {"$ref": "#/$defs/stringMap"}, "createdBy": {"type": "string"}, "createdAt": {"type": "string", "format": "date-time"}, "updatedBy": {"type": "string"}, "updatedAt": {"type": "string", "format": "date-time"} }, "additionalProperties": false, "$defs": { "ruleMatch": { "type": "object", "properties": { "eventKinds": {"$ref": "#/$defs/stringArray"}, "namespaces": {"$ref": "#/$defs/stringArray"}, "repositories": {"$ref": "#/$defs/stringArray"}, "digests": {"$ref": "#/$defs/stringArray"}, "labels": {"$ref": "#/$defs/stringArray"}, "componentPurls": {"$ref": "#/$defs/stringArray"}, "minSeverity": {"type": "string"}, "verdicts": {"$ref": "#/$defs/stringArray"}, "kevOnly": {"type": "boolean"}, "vex": {"$ref": "#/$defs/ruleMatchVex"} }, "additionalProperties": false }, "ruleMatchVex": { "type": "object", "properties": { "includeAcceptedJustifications": {"type": "boolean"}, "includeRejectedJustifications": {"type": "boolean"}, "includeUnknownJustifications": {"type": "boolean"}, "justificationKinds": {"$ref": "#/$defs/stringArray"} }, "additionalProperties": false }, "ruleAction": { "type": "object", "required": ["actionId", "channel", "enabled"], "properties": { "actionId": {"type": "string"}, "channel": {"type": "string"}, "template": {"type": "string"}, "digest": {"type": "string"}, "throttle": { "type": "string", "pattern": "^P(T.*)?$", "description": "ISO 8601 duration" }, "locale": {"type": "string"}, "enabled": {"type": "boolean"}, "metadata": {"$ref": "#/$defs/stringMap"} }, "additionalProperties": false }, "stringArray": { "type": "array", "items": {"type": "string"} }, "stringMap": { "type": "object", "patternProperties": { ".*": {"type": "string"} }, "additionalProperties": false } } }