github / rest-api-description

An OpenAPI description for GitHub's REST API
MIT License
1.38k stars 225 forks source link

[Schema Inaccuracy] "Content Tree" content is a required property, but is unlisted #3974

Closed orange-buffalo closed 1 week ago

orange-buffalo commented 2 weeks ago

Schema Inaccuracy

The "Content Tree" object lists content as a required property, but doesn't list the content property itself.

"content-tree": {
        "title": "Content Tree",
        "description": "Content Tree",
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "size": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "sha": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "git_url": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "html_url": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "download_url": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "entries": {
            ...
            }
          },
          "_links": {
            ...
        },
        "required": [
          "_links",
          "git_url",
          "html_url",
          "download_url",
          "name",
          "path",
          "sha",
          "size",
          "type",
          "url",
          "content",
          "encoding"
        ]
      },

Expected

content property is in the list of properties of content-tree.

Reproduction Steps

See OpenAPI JSON spec in this repository.

vaindil commented 1 week ago

Thanks for this report! I fixed up that schema, the content property has been added to the root of that schema and removed from the required list, along with a couple of other tweaks.