Atlassian · Schema

effective_repo_branching_model

CodeCollaborationPlatformProductivitySoftware Development
View JSON Schema on GitHub

JSON Schema

atlassian-effective-repo-branching-model-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/effective_repo_branching_model",
  "title": "effective_repo_branching_model",
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Effective Repository Branching Model",
      "description": "A repository's effective 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
    }
  ]
}