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 |
JSON Schema
{
"$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."
}
}
}
}
}