-
Notifications
You must be signed in to change notification settings - Fork 298
Closed
Labels
Description
Schema Inaccuracy
The current schema for #/components/schemas/pull-request define head.repo as required:
full schema
pull-request:
type: object
title: Pull Request
description: Pull requests let you tell others about changes you've pushed to
a repository on GitHub. Once a pull request is sent, interested parties can
review the set of changes, discuss potential modifications, and even push
follow-up commits if necessary.
properties:
url:
type: string
format: uri
example: https://api.github.com/repos/octocat/Hello-World/pulls/1347
id:
type: integer
example: 1
node_id:
type: string
example: MDExOlB1bGxSZXF1ZXN0MQ==
html_url:
type: string
format: uri
example: https://github.com/octocat/Hello-World/pull/1347
diff_url:
type: string
format: uri
example: https://github.com/octocat/Hello-World/pull/1347.diff
patch_url:
type: string
format: uri
example: https://github.com/octocat/Hello-World/pull/1347.patch
issue_url:
type: string
format: uri
example: https://api.github.com/repos/octocat/Hello-World/issues/1347
commits_url:
type: string
format: uri
example: https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits
review_comments_url:
type: string
format: uri
example: https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments
review_comment_url:
type: string
example: https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}
comments_url:
type: string
format: uri
example: https://api.github.com/repos/octocat/Hello-World/issues/1347/comments
statuses_url:
type: string
format: uri
example: https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e
number:
description: Number uniquely identifying the pull request within its repository.
example: 42
type: integer
state:
description: State of this Pull Request. Either `open` or `closed`.
enum:
- open
- closed
example: open
type: string
locked:
type: boolean
example: true
title:
description: The title of the pull request.
example: Amazing new feature
type: string
user:
nullable: true
allOf:
- "$ref": "#/components/schemas/simple-user"
body:
type: string
example: Please pull these awesome changes
nullable: true
labels:
type: array
items:
type: object
properties:
id:
type: integer
format: int64
node_id:
type: string
url:
type: string
name:
type: string
description:
type: string
nullable: true
color:
type: string
default:
type: boolean
milestone:
nullable: true
allOf:
- "$ref": "#/components/schemas/milestone"
active_lock_reason:
type: string
example: too heated
nullable: true
created_at:
type: string
format: date-time
example: '2011-01-26T19:01:12Z'
updated_at:
type: string
format: date-time
example: '2011-01-26T19:01:12Z'
closed_at:
type: string
format: date-time
example: '2011-01-26T19:01:12Z'
nullable: true
merged_at:
type: string
format: date-time
example: '2011-01-26T19:01:12Z'
nullable: true
merge_commit_sha:
type: string
example: e5bd3914e2e596debea16f433f57875b5b90bcd6
nullable: true
assignee:
nullable: true
allOf:
- "$ref": "#/components/schemas/simple-user"
assignees:
type: array
items:
"$ref": "#/components/schemas/simple-user"
nullable: true
requested_reviewers:
type: array
items:
"$ref": "#/components/schemas/simple-user"
nullable: true
requested_teams:
type: array
items:
"$ref": "#/components/schemas/team-simple"
nullable: true
head:
type: object
properties:
label:
type: string
ref:
type: string
repo:
type: object
properties:
archive_url:
type: string
assignees_url:
type: string
blobs_url:
type: string
branches_url:
type: string
collaborators_url:
type: string
comments_url:
type: string
commits_url:
type: string
compare_url:
type: string
contents_url:
type: string
contributors_url:
type: string
format: uri
deployments_url:
type: string
format: uri
description:
type: string
nullable: true
downloads_url:
type: string
format: uri
events_url:
type: string
format: uri
fork:
type: boolean
forks_url:
type: string
format: uri
full_name:
type: string
git_commits_url:
type: string
git_refs_url:
type: string
git_tags_url:
type: string
hooks_url:
type: string
format: uri
html_url:
type: string
format: uri
id:
type: integer
node_id:
type: string
issue_comment_url:
type: string
issue_events_url:
type: string
issues_url:
type: string
keys_url:
type: string
labels_url:
type: string
languages_url:
type: string
format: uri
merges_url:
type: string
format: uri
milestones_url:
type: string
name:
type: string
notifications_url:
type: string
owner:
type: object
properties:
avatar_url:
type: string
format: uri
events_url:
type: string
followers_url:
type: string
format: uri
following_url:
type: string
gists_url:
type: string
gravatar_id:
type: string
nullable: true
html_url:
type: string
format: uri
id:
type: integer
node_id:
type: string
login:
type: string
organizations_url:
type: string
format: uri
received_events_url:
type: string
format: uri
repos_url:
type: string
format: uri
site_admin:
type: boolean
starred_url:
type: string
subscriptions_url:
type: string
format: uri
type:
type: string
url:
type: string
format: uri
required:
- avatar_url
- events_url
- followers_url
- following_url
- gists_url
- gravatar_id
- html_url
- id
- node_id
- login
- organizations_url
- received_events_url
- repos_url
- site_admin
- starred_url
- subscriptions_url
- type
- url
private:
type: boolean
pulls_url:
type: string
releases_url:
type: string
stargazers_url:
type: string
format: uri
statuses_url:
type: string
subscribers_url:
type: string
format: uri
subscription_url:
type: string
format: uri
tags_url:
type: string
format: uri
teams_url:
type: string
format: uri
trees_url:
type: string
url:
type: string
format: uri
clone_url:
type: string
default_branch:
type: string
forks:
type: integer
forks_count:
type: integer
git_url:
type: string
has_downloads:
type: boolean
has_issues:
type: boolean
has_projects:
type: boolean
has_wiki:
type: boolean
has_pages:
type: boolean
homepage:
type: string
format: uri
nullable: true
language:
type: string
nullable: true
master_branch:
type: string
archived:
type: boolean
disabled:
type: boolean
mirror_url:
type: string
format: uri
nullable: true
open_issues:
type: integer
open_issues_count:
type: integer
permissions:
type: object
properties:
admin:
type: boolean
pull:
type: boolean
push:
type: boolean
required:
- admin
- pull
- push
temp_clone_token:
type: string
allow_merge_commit:
type: boolean
allow_squash_merge:
type: boolean
allow_rebase_merge:
type: boolean
license:
type: object
properties:
key:
type: string
name:
type: string
url:
type: string
format: uri
nullable: true
spdx_id:
type: string
nullable: true
node_id:
type: string
required:
- key
- name
- url
- spdx_id
- node_id
nullable: true
pushed_at:
type: string
format: date-time
size:
type: integer
ssh_url:
type: string
stargazers_count:
type: integer
svn_url:
type: string
format: uri
topics:
type: array
items:
type: string
watchers:
type: integer
watchers_count:
type: integer
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
required:
- archive_url
- assignees_url
- blobs_url
- branches_url
- collaborators_url
- comments_url
- commits_url
- compare_url
- contents_url
- contributors_url
- deployments_url
- description
- downloads_url
- events_url
- fork
- forks_url
- full_name
- git_commits_url
- git_refs_url
- git_tags_url
- hooks_url
- html_url
- id
- node_id
- issue_comment_url
- issue_events_url
- issues_url
- keys_url
- labels_url
- languages_url
- merges_url
- milestones_url
- name
- notifications_url
- owner
- private
- pulls_url
- releases_url
- stargazers_url
- statuses_url
- subscribers_url
- subscription_url
- tags_url
- teams_url
- trees_url
- url
- clone_url
- default_branch
- forks
- forks_count
- git_url
- has_downloads
- has_issues
- has_projects
- has_wiki
- has_pages
- homepage
- language
- archived
- disabled
- mirror_url
- open_issues
- open_issues_count
- license
- pushed_at
- size
- ssh_url
- stargazers_count
- svn_url
- watchers
- watchers_count
- created_at
- updated_at
sha:
type: string
user:
type: object
properties:
avatar_url:
type: string
format: uri
events_url:
type: string
followers_url:
type: string
format: uri
following_url:
type: string
gists_url:
type: string
gravatar_id:
type: string
nullable: true
html_url:
type: string
format: uri
id:
type: integer
node_id:
type: string
login:
type: string
organizations_url:
type: string
format: uri
received_events_url:
type: string
format: uri
repos_url:
type: string
format: uri
site_admin:
type: boolean
starred_url:
type: string
subscriptions_url:
type: string
format: uri
type:
type: string
url:
type: string
format: uri
required:
- avatar_url
- events_url
- followers_url
- following_url
- gists_url
- gravatar_id
- html_url
- id
- node_id
- login
- organizations_url
- received_events_url
- repos_url
- site_admin
- starred_url
- subscriptions_url
- type
- url
required:
- label
- ref
- repo
- sha
- userExpected
head.repo should have nullable: true
Reproduction Steps
https://api.github.com/repos/DefinitelyTyped/DefinitelyTyped/pulls/48699
Originally reported by @rbuckton in octokit/rest.js#31