{
  "properties": {
    "name": {
      "description": "The name of the repository.",
      "type": "string"
    },
    "description": {
      "description": "A short description of the repository.",
      "type": "string"
    },
    "homepage": {
      "description": "A URL with more information about the repository.",
      "type": "string"
    },
    "private": {
      "description": "Whether the repository is private.",
      "default": false,
      "type": "boolean"
    },
    "has_issues": {
      "description": "Whether issues are enabled.",
      "default": true,
      "type": "boolean"
    },
    "has_projects": {
      "description": "Whether projects are enabled.",
      "default": true,
      "type": "boolean"
    },
    "has_wiki": {
      "description": "Whether the wiki is enabled.",
      "default": true,
      "type": "boolean"
    },
    "has_discussions": {
      "description": "Whether discussions are enabled.",
      "default": false,
      "type": "boolean"
    },
    "team_id": {
      "description": "The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization.",
      "type": "integer"
    },
    "auto_init": {
      "description": "Whether the repository is initialized with a minimal README.",
      "default": false,
      "type": "boolean"
    },
    "gitignore_template": {
      "description": "The desired language or platform to apply to the .gitignore.",
      "type": "string"
    },
    "license_template": {
      "description": "The license keyword of the open source license for this repository.",
      "type": "string"
    },
    "allow_squash_merge": {
      "description": "Whether to allow squash merges for pull requests.",
      "default": true,
      "type": "boolean"
    },
    "allow_merge_commit": {
      "description": "Whether to allow merge commits for pull requests.",
      "default": true,
      "type": "boolean"
    },
    "allow_rebase_merge": {
      "description": "Whether to allow rebase merges for pull requests.",
      "default": true,
      "type": "boolean"
    },
    "allow_auto_merge": {
      "description": "Whether to allow Auto-merge to be used on pull requests.",
      "default": false,
      "type": "boolean"
    },
    "delete_branch_on_merge": {
      "description": "Whether to delete head branches when pull requests are merged",
      "default": false,
      "type": "boolean"
    },
    "squash_merge_commit_title": {
      "type": "string",
      "enum": [
        "PR_TITLE",
        "COMMIT_OR_PR_TITLE"
      ],
      "description": "Required when using `squash_merge_commit_message`.\n\nThe default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
    },
    "squash_merge_commit_message": {
      "type": "string",
      "enum": [
        "PR_BODY",
        "COMMIT_MESSAGES",
        "BLANK"
      ],
      "description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
    },
    "merge_commit_title": {
      "type": "string",
      "enum": [
        "PR_TITLE",
        "MERGE_MESSAGE"
      ],
      "description": "Required when using `merge_commit_message`.\n\nThe default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
    },
    "merge_commit_message": {
      "type": "string",
      "enum": [
        "PR_BODY",
        "PR_TITLE",
        "BLANK"
      ],
      "description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
    },
    "has_downloads": {
      "description": "Whether downloads are enabled.",
      "default": true,
      "type": "boolean"
    },
    "is_template": {
      "description": "Whether this repository acts as a template that can be used to generate new repositories.",
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "name"
  ],
  "type": "object",
  "$schema": "https://json-schema.org/draft/2019-09/schema"
}