Skip to content

[Schema Inaccuracy] Add format: int64 to organization private_repos #707

Open
@rgmz

Description

@rgmz

Schema Inaccuracy

The organization-full -> plan -> private_repos key is defined as type: integer, which is interpreted by many codegen tools as int32. However, if you have an enterprise plan (or at least in our case) the # of private repos returned from the API is 999999999999, which causes a runtime error.

 com.fasterxml.jackson.databind.JsonMappingException: Numeric value (999999999999) out of range of int (-2147483648 - 2147483647)

Schema

 organization-full:
      title: Organization Full
      description: Organization Full
      type: object
      properties:
        plan:
          type: object
          properties:
            private_repos:
              type: integer

Expected

The schema includes a [format: int64 type definition] https://swagger.io/docs/specification/data-models/data-types/#numbers).

Reproduction Steps

From an Enterprise plan on GitHub Enterprise Server 3.1.12:

$ curl --request GET \
  --url https://gh-enterprise.com/api/v3/orgs/ORG_NAME \
  --header 'Accept: application/vnd.github.v3+json'

{
 // other properties
  "plan": {
    "name": "enterprise",
    "space": 123456789,
    "private_repos": 999999999999,
    "filled_seats": 18,
    "seats": 0
  }
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions