{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$id": "release-it#github",
  "title": "JSON schema for release-it github configuration",
  "type": "object",
  "additionalItems": false,
  "properties": {
    "release": {
      "type": "boolean",
      "default": false
    },
    "releaseName": {
      "type": "string",
      "default": "Release ${version}"
    },
    "releaseNotes": {
      "anyOf": [
        { "type": ["string", "null"] },
        {
          "type": "object",
          "properties": {
            "commit": {
              "type": "string"
            },
            "excludeMatches": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "default": []
            }
          }
        }
      ],
      "default": null
    },
    "autoGenerate": {
      "type": "boolean",
      "default": false
    },
    "makeLatest": {
      "anyOf": [{ "type": "boolean" }, { "const": "legacy" }],
      "default": true
    },
    "preRelease": {
      "type": "boolean",
      "default": false
    },
    "draft": {
      "type": "boolean",
      "default": false
    },
    "discussionCategoryName": {
      "$comment": "Create discussion of the specified category and link to the GitHub Release",
      "type": "string"
    },
    "tokenRef": {
      "type": "string",
      "default": "GITHUB_TOKEN"
    },
    "assets": {
      "default": null
    },
    "host": {
      "type": "string",
      "default": null
    },
    "timeout": {
      "type": "integer",
      "default": 0
    },
    "proxy": {
      "type": "string",
      "default": null
    },
    "skipChecks": {
      "type": "boolean",
      "default": false
    },
    "web": {
      "type": "boolean",
      "default": false
    },
    "comments": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "submit": {
          "type": "boolean",
          "default": false
        },
        "issue": {
          "type": "string",
          "default": ":rocket: _This issue has been resolved in v${version}. See [${releaseName}](${releaseUrl}) for release notes._"
        },
        "pr": {
          "type": "string",
          "default": ":rocket: _This pull request is included in v${version}. See [${releaseName}](${releaseUrl}) for release notes._"
        }
      }
    }
  }
}
