{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/branching_model", "title": "branching_model", "allOf": [ { "$ref": "#/components/schemas/object" }, { "type": "object", "title": "Branching Model", "description": "A repository's branching model", "properties": { "branch_types": { "type": "array", "description": "The active branch types.", "items": { "type": "object", "properties": { "kind": { "type": "string", "description": "The kind of branch.", "enum": [ "feature", "bugfix", "release", "hotfix" ] }, "prefix": { "type": "string", "description": "The prefix for this branch type. A branch with this prefix will be classified as per `kind`. The prefix must be a valid prefix for a branch and must always exist. It cannot be blank, empty or `null`." } }, "required": [ "kind", "prefix" ], "additionalProperties": false }, "minItems": 0, "maxItems": 4, "uniqueItems": true }, "development": { "type": "object", "properties": { "branch": { "$ref": "#/components/schemas/branch" }, "name": { "type": "string", "description": "Name of the target branch. Will be listed here even when the target branch does not exist. Will be `null` if targeting the main branch and the repository is empty." }, "use_mainbranch": { "type": "boolean", "description": "Indicates if the setting points at an explicit branch (`false`) or tracks the main branch (`true`)." } }, "required": [ "name", "use_mainbranch" ], "additionalProperties": false }, "production": { "type": "object", "properties": { "branch": { "$ref": "#/components/schemas/branch" }, "name": { "type": "string", "description": "Name of the target branch. Will be listed here even when the target branch does not exist. Will be `null` if targeting the main branch and the repository is empty." }, "use_mainbranch": { "type": "boolean", "description": "Indicates if the setting points at an explicit branch (`false`) or tracks the main branch (`true`)." } }, "required": [ "name", "use_mainbranch" ], "additionalProperties": false } }, "additionalProperties": true } ] }