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
  }
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @ahoglund@rgmz

        Issue actions

          [Schema Inaccuracy] Add `format: int64` to organization `private_repos` · Issue #707 · github/rest-api-description