GitHub · Schema

GitHub Repository

A GitHub repository containing source code, issues, pull requests, and other project resources.

CodePipelinesPlatformSoftware DevelopmentSource ControlT1

Properties

Name Type Description
id integer The unique identifier of the repository.
node_id string The GraphQL node ID for the repository.
name string The name of the repository without the owner prefix.
full_name string The full name of the repository in owner/name format.
owner object
private boolean Whether the repository is private.
html_url string The URL of the repository on GitHub.
description stringnull A short description of the repository.
fork boolean Whether the repository is a fork of another repository.
url string The API URL for the repository.
created_at string The date and time the repository was created.
updated_at string The date and time the repository was last updated.
pushed_at string The date and time of the last push to the repository.
homepage stringnull The URL of the repository's homepage.
size integer The size of the repository in kilobytes.
stargazers_count integer The number of stars the repository has received.
watchers_count integer The number of watchers on the repository.
language stringnull The primary programming language of the repository.
forks_count integer The number of forks of the repository.
open_issues_count integer The number of open issues in the repository.
default_branch string The default branch of the repository.
visibility string The visibility level of the repository.
topics array The topics (tags) associated with the repository.
has_issues boolean Whether the repository has issues enabled.
has_projects boolean Whether the repository has projects enabled.
has_wiki boolean Whether the repository has the wiki enabled.
has_pages boolean Whether the repository has GitHub Pages enabled.
has_downloads boolean Whether the repository has downloads enabled.
has_discussions boolean Whether the repository has discussions enabled.
archived boolean Whether the repository is archived and read-only.
disabled boolean Whether the repository is disabled.
is_template boolean Whether the repository is a template repository.
allow_forking boolean Whether forking is allowed on the repository.
license object
permissions object
View JSON Schema on GitHub

JSON Schema

github-repository-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/schemas/github/repository.json",
  "title": "GitHub Repository",
  "description": "A GitHub repository containing source code, issues, pull requests, and other project resources.",
  "type": "object",
  "required": ["id", "name", "full_name", "owner"],
  "properties": {
    "id": {
      "type": "integer",
      "description": "The unique identifier of the repository."
    },
    "node_id": {
      "type": "string",
      "description": "The GraphQL node ID for the repository."
    },
    "name": {
      "type": "string",
      "description": "The name of the repository without the owner prefix.",
      "pattern": "^[a-zA-Z0-9._-]+$"
    },
    "full_name": {
      "type": "string",
      "description": "The full name of the repository in owner/name format.",
      "pattern": "^[a-zA-Z0-9._-]+/[a-zA-Z0-9._-]+$"
    },
    "owner": {
      "$ref": "#/$defs/SimpleUser"
    },
    "private": {
      "type": "boolean",
      "description": "Whether the repository is private."
    },
    "html_url": {
      "type": "string",
      "format": "uri",
      "description": "The URL of the repository on GitHub."
    },
    "description": {
      "type": ["string", "null"],
      "description": "A short description of the repository.",
      "maxLength": 350
    },
    "fork": {
      "type": "boolean",
      "description": "Whether the repository is a fork of another repository."
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "The API URL for the repository."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the repository was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the repository was last updated."
    },
    "pushed_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time of the last push to the repository."
    },
    "homepage": {
      "type": ["string", "null"],
      "format": "uri",
      "description": "The URL of the repository's homepage."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "description": "The size of the repository in kilobytes."
    },
    "stargazers_count": {
      "type": "integer",
      "minimum": 0,
      "description": "The number of stars the repository has received."
    },
    "watchers_count": {
      "type": "integer",
      "minimum": 0,
      "description": "The number of watchers on the repository."
    },
    "language": {
      "type": ["string", "null"],
      "description": "The primary programming language of the repository."
    },
    "forks_count": {
      "type": "integer",
      "minimum": 0,
      "description": "The number of forks of the repository."
    },
    "open_issues_count": {
      "type": "integer",
      "minimum": 0,
      "description": "The number of open issues in the repository."
    },
    "default_branch": {
      "type": "string",
      "description": "The default branch of the repository."
    },
    "visibility": {
      "type": "string",
      "enum": ["public", "private", "internal"],
      "description": "The visibility level of the repository."
    },
    "topics": {
      "type": "array",
      "description": "The topics (tags) associated with the repository.",
      "items": {
        "type": "string"
      }
    },
    "has_issues": {
      "type": "boolean",
      "description": "Whether the repository has issues enabled."
    },
    "has_projects": {
      "type": "boolean",
      "description": "Whether the repository has projects enabled."
    },
    "has_wiki": {
      "type": "boolean",
      "description": "Whether the repository has the wiki enabled."
    },
    "has_pages": {
      "type": "boolean",
      "description": "Whether the repository has GitHub Pages enabled."
    },
    "has_downloads": {
      "type": "boolean",
      "description": "Whether the repository has downloads enabled."
    },
    "has_discussions": {
      "type": "boolean",
      "description": "Whether the repository has discussions enabled."
    },
    "archived": {
      "type": "boolean",
      "description": "Whether the repository is archived and read-only."
    },
    "disabled": {
      "type": "boolean",
      "description": "Whether the repository is disabled."
    },
    "is_template": {
      "type": "boolean",
      "description": "Whether the repository is a template repository."
    },
    "allow_forking": {
      "type": "boolean",
      "description": "Whether forking is allowed on the repository."
    },
    "license": {
      "$ref": "#/$defs/License"
    },
    "permissions": {
      "$ref": "#/$defs/Permissions"
    }
  },
  "$defs": {
    "SimpleUser": {
      "type": "object",
      "description": "A simplified representation of a GitHub user.",
      "required": ["login", "id"],
      "properties": {
        "login": {
          "type": "string",
          "description": "The username of the user."
        },
        "id": {
          "type": "integer",
          "description": "The unique identifier for the user."
        },
        "node_id": {
          "type": "string",
          "description": "The GraphQL node ID."
        },
        "avatar_url": {
          "type": "string",
          "format": "uri",
          "description": "URL to the user's avatar image."
        },
        "html_url": {
          "type": "string",
          "format": "uri",
          "description": "URL to the user's GitHub profile."
        },
        "type": {
          "type": "string",
          "enum": ["User", "Organization", "Bot"],
          "description": "The type of account."
        },
        "site_admin": {
          "type": "boolean",
          "description": "Whether the user is a GitHub site administrator."
        }
      }
    },
    "License": {
      "type": ["object", "null"],
      "description": "The license associated with the repository.",
      "properties": {
        "key": {
          "type": "string",
          "description": "The SPDX license key."
        },
        "name": {
          "type": "string",
          "description": "The full name of the license."
        },
        "spdx_id": {
          "type": ["string", "null"],
          "description": "The SPDX identifier for the license."
        },
        "url": {
          "type": ["string", "null"],
          "format": "uri",
          "description": "URL to the license on api.github.com."
        },
        "node_id": {
          "type": "string",
          "description": "The GraphQL node ID."
        }
      }
    },
    "Permissions": {
      "type": "object",
      "description": "The permissions the authenticated user has on the repository.",
      "properties": {
        "admin": {
          "type": "boolean",
          "description": "Whether the user has admin access."
        },
        "maintain": {
          "type": "boolean",
          "description": "Whether the user has maintain access."
        },
        "push": {
          "type": "boolean",
          "description": "Whether the user has push (write) access."
        },
        "triage": {
          "type": "boolean",
          "description": "Whether the user has triage access."
        },
        "pull": {
          "type": "boolean",
          "description": "Whether the user has pull (read) access."
        }
      }
    }
  }
}