159 lines
3.2 KiB
JSON
159 lines
3.2 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "Manifest serii kart",
|
|
"description": "Maszynowy opis kolejności repozytoriów kart i ich zadań.",
|
|
"type": "object",
|
|
"required": [
|
|
"version",
|
|
"series",
|
|
"org",
|
|
"title",
|
|
"default_branch",
|
|
"cards"
|
|
],
|
|
"properties": {
|
|
"$schema": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"const": 1
|
|
},
|
|
"series": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
},
|
|
"org": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"default_branch": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"cards": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/cardEntry"
|
|
}
|
|
}
|
|
},
|
|
"$defs": {
|
|
"cardEntry": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"repo",
|
|
"branch",
|
|
"title",
|
|
"summary",
|
|
"status",
|
|
"card_series",
|
|
"card_number",
|
|
"card_count",
|
|
"slug",
|
|
"version",
|
|
"build",
|
|
"tasks"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"repo": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
},
|
|
"branch": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"summary": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"area": {
|
|
"type": "string"
|
|
},
|
|
"card_series": {
|
|
"type": "string"
|
|
},
|
|
"card_number": {
|
|
"type": "string"
|
|
},
|
|
"card_count": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
},
|
|
"document_uuid": {
|
|
"type": "string"
|
|
},
|
|
"pdf": {
|
|
"type": "string"
|
|
},
|
|
"build": {
|
|
"type": "object",
|
|
"required": ["driver", "all_target", "clean_target"],
|
|
"properties": {
|
|
"driver": {
|
|
"const": "make"
|
|
},
|
|
"all_target": {
|
|
"type": "string"
|
|
},
|
|
"clean_target": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"tasks": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["id", "title", "target"],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"target": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "string"
|
|
},
|
|
"build_dir": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|