6. PATCH /repos/{owner}/{repo}/pulls/{pull_number} β pΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅: Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΡΠ΅Π»Π΅Π²ΡΡ Π²Π΅ΡΠΊΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² β ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ PR.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ URL
| ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | Π’ΠΈΠΏ | ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|
owner | string | ΠΠ° | ΠΠ»Π°Π΄Π΅Π»Π΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ) |
repo | string | ΠΠ° | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ |
pull_number | integer | ΠΠ° | ΠΠΎΠΌΠ΅Ρ pull request Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ |
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°
ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°.
Π’Π΅Π»ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
Π€ΠΎΡΠΌΠ°Ρ: application/json
ΠΠΎΠ»Ρ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ β ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ.
{
"title": "ΠΠΎΠ²ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ",
"body": "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ PR",
"state": "open" | "closed",
"base": "main",
"maintainer_can_modify": true
}| ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ | ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ | ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ / ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|
title | string | ΠΠ΅Ρ | ΠΠΎΠ²ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ PR |
body | string | ΠΠ΅Ρ | ΠΠΎΠ²ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ (ΡΠ΅Π»ΠΎ) PR |
state | string | ΠΠ΅Ρ | open β ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ PR ΠΎΡΠΊΡΡΡΡΠΌ, closed β Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ |
base | string | ΠΠ΅Ρ | ΠΠΌΡ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ (Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΠΈΠ²Π°Π΅ΡΡΡ PR) |
maintainer_can_modify | boolean | ΠΠ΅Ρ | Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΠΌΠ΅ΠΉΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π²Π΅ΡΠΊΡ Π°Π²ΡΠΎΡΠ° |
ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ°
curl -X PATCH "https://api.gitverse.ru/repos/gitverse/example-repo/pulls/42" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=1" \
-H "Content-Type: application/json" \
-d '{
"title": "feat(auth): add OAuth2 support",
"body": "Implements OAuth2 login flow with external providers.",
"base": "main"
}'ΠΡΠ²Π΅Ρ (200 OK)
ΠΡΠΈΠΌΠ΅Ρ JSON-ΠΎΡΠ²Π΅ΡΠ°:
{
"id": 12345,
"number": 42,
"state": "open",
"title": "feat(auth): add OAuth2 support",
"body": "Implements OAuth2 login flow with external providers.",
"created_at": "2025-10-10T08:30:00Z",
"updated_at": "2025-10-23T15:45:00Z",
"closed_at": null,
"merged_at": null,
"merged": false,
"mergeable": true,
"is_draft": false,
"locked": false,
"maintainer_can_modify": true,
"merge_commit_sha": "a1b2c3d4e5f6789012345678901234567890abcd",
"html_url": "https://gitverse.ru/gitverse/example-repo/pull/42",
"diff_url": "https://gitverse.ru/gitverse/example-repo/pull/42.diff",
"patch_url": "https://gitverse.ru/gitverse/example-repo/pull/42.patch",
"url": "https://api.gitverse.ru/repos/gitverse/example-repo/pulls/42",
"comments": 5,
"user": {
"login": "alice",
"id": 789,
"avatar_url": "https://gitverse.ru/avatars/789.png",
"html_url": "https://gitverse.ru/alice"
},
"assignees": [],
"labels": [],
"milestone": null,
"requested_reviewers": [],
"requested_teams": [],
"base": {
"label": "gitverse:main",
"ref": "main",
"sha": "f00dcafe1234567890abcdef1234567890abcdef",
"repo": {
"id": 1111,
"name": "example-repo",
"full_name": "gitverse/example-repo",
"private": false,
"owner": {
"login": "gitverse",
"id": 100,
"avatar_url": "https://gitverse.ru/avatars/100.png",
"html_url": "https://gitverse.ru/gitverse"
},
"html_url": "https://gitverse.ru/gitverse/example-repo",
"description": "An example repository",
"fork": false,
"url": "https://api.gitverse.ru/repos/gitverse/example-repo",
"ssh_url": "git@gitverse.ru:gitverse/example-repo.git",
"clone_url": "https://gitverse.ru/gitverse/example-repo.git",
"default_branch": "main"
},
"repo_id": 1111
},
"head": {
"label": "alice:feature/auth",
"ref": "feature/auth",
"sha": "a1b2c3d4e5f6789012345678901234567890abcd",
"repo": {
"id": 1111,
"name": "example-repo",
"full_name": "gitverse/example-repo",
"private": false,
"owner": {
"login": "gitverse",
"id": 100,
"avatar_url": "https://gitverse.ru/avatars/100.png",
"html_url": "https://gitverse.ru/gitverse"
},
"html_url": "https://gitverse.ru/gitverse/example-repo",
"description": "An example repository",
"fork": false,
"url": "https://api.gitverse.ru/repos/gitverse/example-repo",
"ssh_url": "git@gitverse.ru:gitverse/example-repo.git",
"clone_url": "https://gitverse.ru/gitverse/example-repo.git",
"default_branch": "main"
},
"repo_id": 1111
}
}Π€ΠΎΡΠΌΠ°Ρ ΠΎΡΠ²Π΅ΡΠ°
application/vnd.gitverse.object+json;version=1
ΠΠΎΠ»Ρ ΠΎΡΠ²Π΅ΡΠ°
| ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
id | integer | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ pull request |
number | integer | ΠΠΎΠΌΠ΅Ρ PR Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ |
state | string | Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅: open, closed |
title | string | ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ PR |
body | string | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ (ΡΠ΅Π»ΠΎ) PR |
created_at | string | ΠΠ°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ |
updated_at | string | ΠΠ°ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ |
closed_at | string | null |
merged_at | string | null |
merged | boolean | ΠΡΠ» Π»ΠΈ PR ΡΠ»ΠΈΡ |
mergeable | boolean | ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ»ΠΈΡΡ Π±Π΅Π· ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² |
is_draft | boolean | Π―Π²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊΠΎΠΌ |
locked | boolean | ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ Π»ΠΈ ΠΎΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² |
maintainer_can_modify | boolean | ΠΠΎΠ³ΡΡ Π»ΠΈ ΠΌΠ΅ΠΉΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π²Π΅ΡΠΊΡ Π°Π²ΡΠΎΡΠ° |
merge_commit_sha | string | null |
html_url | string | Π‘ΡΡΠ»ΠΊΠ° Π½Π° PR Π² Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ |
diff_url / patch_url | string | Π‘ΡΡΠ»ΠΊΠΈ Π½Π° diff ΠΈ patch |
url | string | API-ΡΡΡΠ»ΠΊΠ° Π½Π° PR |
comments | integer | ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² |
user | object | ΠΠ²ΡΠΎΡ PR |
assignees | array | ΠΠ°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ |
labels | array | ΠΠ΅ΡΠΊΠΈ |
milestone | object | null |
requested_reviewers | array | ΠΠ°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π²ΡΡΠ΅ΡΡ |
requested_teams | array | ΠΠ°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ |
base | object | Π¦Π΅Π»Π΅Π²Π°Ρ Π²Π΅ΡΠΊΠ° ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ |
head | object | ΠΡΡ ΠΎΠ΄Π½Π°Ρ Π²Π΅ΡΠΊΠ° ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ |
ΠΠΎΠ΄ΠΏΠΎΠ»Π΅ user, assignees[i], merged_by
| ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
login | string | ΠΠΎΠ³ΠΈΠ½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ |
id | integer | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ |
avatar_url | string | Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π°Π²Π°ΡΠ°Ρ |
html_url | string | Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ»Ρ |
ΠΠΎΠ΄ΠΏΠΎΠ»Π΅ labels[i]
| ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
id | integer | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΌΠ΅ΡΠΊΠΈ |
name | string | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ |
color | string | Π¦Π²Π΅Ρ (Π² HEX Π±Π΅Π· #) |
description | string | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
exclusive | boolean | Π―Π²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠ΅ΠΉ |
is_archived | boolean | ΠΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π° Π»ΠΈ |
url | string | API-ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΌΠ΅ΡΠΊΡ |
ΠΠΎΠ΄ΠΏΠΎΠ»Π΅ milestone
| ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
id | integer | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²Π΅Ρ ΠΈ |
title | string | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ |
description | string | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
state | string | Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ (open / closed) |
due_on | string | Π‘ΡΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ |
created_at | string | ΠΠ°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ |
updated_at | string | ΠΠ°ΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ |
closed_at | string | null |
open_issues | integer | ΠΡΠΊΡΡΡΡΠ΅ Π·Π°Π΄Π°ΡΠΈ |
closed_issues | integer | ΠΠ°ΠΊΡΡΡΡΠ΅ Π·Π°Π΄Π°ΡΠΈ |
ΠΠΎΠ΄ΠΏΠΎΠ»Ρ base ΠΈ head
| ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
label | string | Π ΡΠΎΡΠΌΠ°ΡΠ΅ owner:ref |
ref | string | ΠΠΌΡ Π²Π΅ΡΠΊΠΈ |
sha | string | SHA ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² Π²Π΅ΡΠΊΠ΅ |
repo | object | ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ |
repo_id | integer | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ |
ΠΠΎΠ΄Ρ ΠΎΡΠ²Π΅ΡΠ°
| ΠΠΎΠ΄ | Π‘ΡΠ°ΡΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
| 200 | OK | ΠΠ°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ |
| 400 | Bad Request | ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅Π»Π΅ Π·Π°ΠΏΡΠΎΡΠ° |
| 401 | Unauthorized | Π’ΠΎΠΊΠ΅Π½ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ |
| 403 | Forbidden | ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠ°Π² Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ PR |
| 404 | Not Found | Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ |
| 500 | Internal Server Error | ΠΠ½ΡΡΡΠ΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° |
5. PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch β ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²Π΅ΡΠΊΡ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅7. GET /repos/{owner}/{repo}/pulls β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅