{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/branching_model_settings", "title": "branching_model_settings", "allOf": [ { "$ref": "#/components/schemas/object" }, { "type": "object", "title": "Branching Model Settings", "description": "A repository's branching model settings", "properties": { "links": { "type": "object", "properties": { "self": { "type": "object", "title": "Link", "description": "A link to a resource related to this object.", "properties": { "href": { "type": "string", "format": "uri" }, "name": { "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false }, "branch_types": { "type": "array", "items": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether the branch type is enabled or not. A disabled branch type may contain an invalid `prefix`." }, "kind": { "type": "string", "description": "The kind of the branch type.", "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` of an enabled branch type must be a valid branch prefix.Additionally, it cannot be blank, empty or `null`. The `prefix` for a disabled branch type can be empty or invalid." } }, "required": [ "kind" ], "additionalProperties": false }, "minItems": 0, "maxItems": 4, "uniqueItems": true }, "development": { "type": "object", "properties": { "is_valid": { "type": "boolean", "description": "Indicates if the configured branch is valid, that is, if the configured branch actually exists currently. Is always `true` when `use_mainbranch` is `true` (even if the main branch does not exist). This field is read-only. This field is ignored when updating/creating settings." }, "name": { "type": "string", "description": "The configured branch. It must be `null` when `use_mainbranch` is `true`. Otherwise it must be a non-empty value. It is possible for the configured branch to not exist (e.g. it was deleted after the settings are set). In this case `is_valid` will be `false`. The branch must exist when updating/setting the `name` or an error will occur." }, "use_mainbranch": { "type": "boolean", "description": "Indicates if the setting points at an explicit branch (`false`) or tracks the main branch (`true`). When `true` the `name` must be `null` or not provided. When `false` the `name` must contain a non-empty branch name." } }, "additionalProperties": false }, "production": { "type": "object", "properties": { "is_valid": { "type": "boolean", "description": "Indicates if the configured branch is valid, that is, if the configured branch actually exists currently. Is always `true` when `use_mainbranch` is `true` (even if the main branch does not exist). This field is read-only. This field is ignored when updating/creating settings." }, "name": { "type": "string", "description": "The configured branch. It must be `null` when `use_mainbranch` is `true`. Otherwise it must be a non-empty value. It is possible for the configured branch to not exist (e.g. it was deleted after the settings are set). In this case `is_valid` will be `false`. The branch must exist when updating/setting the `name` or an error will occur." }, "use_mainbranch": { "type": "boolean", "description": "Indicates if the setting points at an explicit branch (`false`) or tracks the main branch (`true`). When `true` the `name` must be `null` or not provided. When `false` the `name` must contain a non-empty branch name." }, "enabled": { "type": "boolean", "description": "Indicates if branch is enabled or not." } }, "additionalProperties": false } }, "additionalProperties": true } ] }