GitHub v3 REST API

Delete a review comment for a pull request

Deletes a review comment.

delete
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/pulls/comments/{comment_id}

Path Parameters

ownerstringrequired
repostringrequired
comment_idintegerrequired

comment_id parameter

Response

Response

delete/repos/{owner}/{repo}/pulls/comments/{comment_id}
 

Get a pull request

Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see GitHub’s products in the GitHub Help documentation.

Lists details of a pull request by providing its number.

When you get, create, or edit a pull request, GitHub Enterprise Server creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the mergeable key. For more information, see “Checking mergeability of pull requests”.

The value of the mergeable attribute can be true, false, or null. If the value is null, then GitHub Enterprise Server has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-null value for the mergeable attribute in the response. If mergeable is true, then merge_commit_sha will be the SHA of the test merge commit.

The value of the merge_commit_sha attribute changes depending on the state of the pull request. Before merging a pull request, the merge_commit_sha attribute holds the SHA of the test merge commit. After merging a pull request, the merge_commit_sha attribute changes depending on how you merged the pull request:

  • If merged as a merge commit, merge_commit_sha represents the SHA of the merge commit.
  • If merged via a squash, merge_commit_sha represents the SHA of the squashed commit on the base branch.
  • If rebased, merge_commit_sha represents the commit that the base branch was updated to.

Pass the appropriate media type to fetch diff and patch formats.

get
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/pulls/{pull_number}

Path Parameters

ownerstringrequired
repostringrequired
pull_numberintegerrequired

Response

application/json

Pass the appropriate media type to fetch diff and patch formats.

Pull Request

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.

urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World/pulls/1347

idintegerrequired

Example:1

node_idstringrequired

Example:MDExOlB1bGxSZXF1ZXN0MQ==

html_urlstring(uri)required

Example:https://github.com/octocat/Hello-World/pull/1347

diff_urlstring(uri)required

Example:https://github.com/octocat/Hello-World/pull/1347.diff

patch_urlstring(uri)required

Example:https://github.com/octocat/Hello-World/pull/1347.patch

issue_urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World/issues/1347

commits_urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits

review_comments_urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments

review_comment_urlstringrequired

Example:https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}

comments_urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World/issues/1347/comments

statuses_urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e

numberintegerrequired

Number uniquely identifying the pull request within its repository.

Example:42

statestringrequired

State of this Pull Request. Either open or closed.

Allowed values:openclosed

Example:open

lockedbooleanrequired

Example:true

titlestringrequired

The title of the pull request.

Example:Amazing new feature

userobject | nullrequired

Simple User

Show Child Parameters
bodystring | nullrequired

Example:Please pull these awesome changes

labelsarray[object]required
Show Child Parameters
milestoneobject | nullrequired

A collection of related issues and pull requests.

Show Child Parameters
active_lock_reasonstring | null

Example:too heated

created_atstring(date-time)required

Example:2011-01-26T19:01:12Z

updated_atstring(date-time)required

Example:2011-01-26T19:01:12Z

closed_atstring | null(date-time)required

Example:2011-01-26T19:01:12Z

merged_atstring | null(date-time)required

Example:2011-01-26T19:01:12Z

merge_commit_shastring | nullrequired

Example:e5bd3914e2e596debea16f433f57875b5b90bcd6

assigneeobject | nullrequired

Simple User

Show Child Parameters
assigneesarray | null[object]

Simple User

Show Child Parameters
requested_reviewersarray | null[object]

Simple User

Show Child Parameters
requested_teamsarray | null[object]

Groups of organization members that gives permissions on specified repositories.

Show Child Parameters
headobjectrequired
Show Child Parameters
baseobjectrequired
Show Child Parameters
_linksobjectrequired
Show Child Parameters
author_associationstringrequired

How the author is associated with the repository.

Allowed values:COLLABORATORCONTRIBUTORFIRST_TIMERFIRST_TIME_CONTRIBUTORMANNEQUINMEMBERNONEOWNER

Example:OWNER

draftboolean

Indicates whether or not the pull request is a draft.

Example:false

mergedbooleanrequired
mergeableboolean | nullrequired

Example:true

rebaseableboolean | null

Example:true

mergeable_statestringrequired

Example:clean

merged_byobject | nullrequired

Simple User

Show Child Parameters
commentsintegerrequired

Example:10

review_commentsintegerrequired

Example:0

maintainer_can_modifybooleanrequired

Indicates whether maintainers can modify the pull request.

Example:true

commitsintegerrequired

Example:3

additionsintegerrequired

Example:100

deletionsintegerrequired

Example:3

changed_filesintegerrequired

Example:5

get/repos/{owner}/{repo}/pulls/{pull_number}
 
application/json

Update a pull request

Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see GitHub’s products in the GitHub Help documentation.

To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request.

patch
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/pulls/{pull_number}

Path Parameters

ownerstringrequired
repostringrequired
pull_numberintegerrequired

Body

application/json
titlestring

The title of the pull request.

bodystring

The contents of the pull request.

statestring

State of this Pull Request. Either open or closed.

Allowed values:openclosed

basestring

The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository.

maintainer_can_modifyboolean

Indicates whether maintainers can modify the pull request.

Response

application/json

Response

Pull Request

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.

urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World/pulls/1347

idintegerrequired

Example:1

node_idstringrequired

Example:MDExOlB1bGxSZXF1ZXN0MQ==

html_urlstring(uri)required

Example:https://github.com/octocat/Hello-World/pull/1347

diff_urlstring(uri)required

Example:https://github.com/octocat/Hello-World/pull/1347.diff

patch_urlstring(uri)required

Example:https://github.com/octocat/Hello-World/pull/1347.patch

issue_urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World/issues/1347

commits_urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits

review_comments_urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments

review_comment_urlstringrequired

Example:https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}

comments_urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World/issues/1347/comments

statuses_urlstring(uri)required

Example:https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e

numberintegerrequired

Number uniquely identifying the pull request within its repository.

Example:42

statestringrequired

State of this Pull Request. Either open or closed.

Allowed values:openclosed

Example:open

lockedbooleanrequired

Example:true

titlestringrequired

The title of the pull request.

Example:Amazing new feature

userobject | nullrequired

Simple User

Show Child Parameters
bodystring | nullrequired

Example:Please pull these awesome changes

labelsarray[object]required
Show Child Parameters
milestoneobject | nullrequired

A collection of related issues and pull requests.

Show Child Parameters
active_lock_reasonstring | null

Example:too heated

created_atstring(date-time)required

Example:2011-01-26T19:01:12Z

updated_atstring(date-time)required

Example:2011-01-26T19:01:12Z

closed_atstring | null(date-time)required

Example:2011-01-26T19:01:12Z

merged_atstring | null(date-time)required

Example:2011-01-26T19:01:12Z

merge_commit_shastring | nullrequired

Example:e5bd3914e2e596debea16f433f57875b5b90bcd6

assigneeobject | nullrequired

Simple User

Show Child Parameters
assigneesarray | null[object]

Simple User

Show Child Parameters
requested_reviewersarray | null[object]

Simple User

Show Child Parameters
requested_teamsarray | null[object]

Groups of organization members that gives permissions on specified repositories.

Show Child Parameters
headobjectrequired
Show Child Parameters
baseobjectrequired
Show Child Parameters
_linksobjectrequired
Show Child Parameters
author_associationstringrequired

How the author is associated with the repository.

Allowed values:COLLABORATORCONTRIBUTORFIRST_TIMERFIRST_TIME_CONTRIBUTORMANNEQUINMEMBERNONEOWNER

Example:OWNER

draftboolean

Indicates whether or not the pull request is a draft.

Example:false

mergedbooleanrequired
mergeableboolean | nullrequired

Example:true

rebaseableboolean | null

Example:true

mergeable_statestringrequired

Example:clean

merged_byobject | nullrequired

Simple User

Show Child Parameters
commentsintegerrequired

Example:10

review_commentsintegerrequired

Example:0

maintainer_can_modifybooleanrequired

Indicates whether maintainers can modify the pull request.

Example:true

commitsintegerrequired

Example:3

additionsintegerrequired

Example:100

deletionsintegerrequired

Example:3

changed_filesintegerrequired

Example:5

patch/repos/{owner}/{repo}/pulls/{pull_number}

Body

{ "title": "new title", "body": "updated body", "state": "open", "base": "master" }
 
application/json

List review comments on a pull request

Lists all review comments for a pull request. By default, review comments are in ascending order by ID.

get
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/pulls/{pull_number}/comments

Query Parameters

sortstring

One of created (when the repository was starred) or updated (when it was last pushed to).

Allowed values:createdupdated

Default:created

directionstring

Can be either asc or desc. Ignored without sort parameter.

Allowed values:ascdesc

sincestring(date-time)

Only show notifications updated after the given time. This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.

per_pageinteger

Results per page (max 100)

Default:30

pageinteger

Page number of the results to fetch.

Default:1

Path Parameters

ownerstringrequired
repostringrequired
pull_numberintegerrequired

Response

200 application/json

Response

Pull Request Review Comments are comments on a portion of the Pull Request’s diff.

urlstringrequired

URL for the pull request review comment

Example:https://api.github.com/repos/octocat/Hello-World/pulls/comments/1

pull_request_review_idinteger | nullrequired

The ID of the pull request review to which the comment belongs.

Example:42

idintegerrequired

The ID of the pull request review comment.

Example:1

node_idstringrequired

The node ID of the pull request review comment.

Example:MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw

diff_hunkstringrequired

The diff of the line that the comment refers to.

Example:@@ -16,33 +16,40 @@ public class Connection : IConnection...

pathstringrequired

The relative path of the file to which the comment applies.

Example:config/database.yaml

positionintegerrequired

The line index in the diff to which the comment applies.

Example:1

original_positionintegerrequired

The index of the original line in the diff to which the comment applies.

Example:4

commit_idstringrequired

The SHA of the commit to which the comment applies.

Example:6dcb09b5b57875f334f61aebed695e2e4193db5e

original_commit_idstringrequired

The SHA of the original commit to which the comment applies.

Example:9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840

in_reply_to_idinteger

The comment ID to reply to.

Example:8

userobjectrequired

Simple User

Show Child Parameters
bodystringrequired

The text of the comment.

Example:We should probably include a check for null values here.

created_atstring(date-time)required

Example:2011-04-14T16:00:49Z

updated_atstring(date-time)required

Example:2011-04-14T16:00:49Z

html_urlstring(uri)required

HTML URL for the pull request review comment.

Example:https://github.com/octocat/Hello-World/pull/1#discussion-diff-1

pull_request_urlstring(uri)required

URL for the pull request that the review comment belongs to.

Example:https://api.github.com/repos/octocat/Hello-World/pulls/1

author_associationstringrequired

How the author is associated with the repository.

Allowed values:COLLABORATORCONTRIBUTORFIRST_TIMERFIRST_TIME_CONTRIBUTORMANNEQUINMEMBERNONEOWNER

Example:OWNER

_linksobjectrequired
Show Child Parameters
start_lineinteger | null

The first line of the range for a multi-line comment.

Example:2

original_start_lineinteger | null

The first line of the range for a multi-line comment.

Example:2

start_sidestring | null

The side of the first line of the range for a multi-line comment.

Allowed values:LEFTRIGHT

Default:RIGHT

lineinteger

The line of the blob to which the comment applies. The last line of the range for a multi-line comment

Example:2

original_lineinteger

The line of the blob to which the comment applies. The last line of the range for a multi-line comment

Example:2

sidestring

The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment

Allowed values:LEFTRIGHT

Default:RIGHT

reactionsobject
Show Child Parameters
body_htmlstring

Example:"<p>comment body</p>"

body_textstring

Example:"comment body"

get/repos/{owner}/{repo}/pulls/{pull_number}/comments
 
200 application/json

Create a review comment for a pull request

Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see “Create an issue comment.” We recommend creating a review comment using line, side, and optionally start_line and start_side if your comment applies to more than one line in the pull request diff.

You can still create a review comment using the position parameter. When you use position, the line, side, start_line, and start_side parameters are not required. For more information, see the comfort-fade preview notice.

Note: The position value equals the number of lines down from the first “@@” hunk header in the file you want to add a comment. The line just below the “@@” line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.

This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. See “Secondary rate limits” and “Dealing with secondary rate limits” for details.

post
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/pulls/{pull_number}/comments

Path Parameters

ownerstringrequired
repostringrequired
pull_numberintegerrequired

Body

application/json
bodystringrequired

The text of the review comment.

commit_idstring

The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the position.

pathstring

The relative path to the file that necessitates a comment.

positioninteger

Required without comfort-fade preview. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above.

sidestring

Required with comfort-fade preview. In a split diff view, the side of the diff that the pull request’s changes appear on. Can be LEFT or RIGHT. Use LEFT for deletions that appear in red. Use RIGHT for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see “Diff view options” in the GitHub Help documentation.

Allowed values:LEFTRIGHT

lineinteger

Required with comfort-fade preview. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to.

start_lineinteger

Required when using multi-line comments. To create multi-line comments, you must use the comfort-fade preview header. The start_line is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see “Commenting on a pull request” in the GitHub Help documentation.

start_sidestring

Required when using multi-line comments. To create multi-line comments, you must use the comfort-fade preview header. The start_side is the starting side of the diff that the comment applies to. Can be LEFT or RIGHT. To learn more about multi-line comments, see “Commenting on a pull request” in the GitHub Help documentation. See side in this table for additional context.

Allowed values:LEFTRIGHTside

in_reply_tointeger

The ID of the review comment to reply to. To find the ID of a review comment with “List review comments on a pull request”. When specified, all parameters other than body in the request body are ignored.

Example:2

Response

application/json

Response

Pull Request Review Comment

Pull Request Review Comments are comments on a portion of the Pull Request’s diff.

urlstringrequired

URL for the pull request review comment

Example:https://api.github.com/repos/octocat/Hello-World/pulls/comments/1

pull_request_review_idinteger | nullrequired

The ID of the pull request review to which the comment belongs.

Example:42

idintegerrequired

The ID of the pull request review comment.

Example:1

node_idstringrequired

The node ID of the pull request review comment.

Example:MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw

diff_hunkstringrequired

The diff of the line that the comment refers to.

Example:@@ -16,33 +16,40 @@ public class Connection : IConnection...

pathstringrequired

The relative path of the file to which the comment applies.

Example:config/database.yaml

positionintegerrequired

The line index in the diff to which the comment applies.

Example:1

original_positionintegerrequired

The index of the original line in the diff to which the comment applies.

Example:4

commit_idstringrequired

The SHA of the commit to which the comment applies.

Example:6dcb09b5b57875f334f61aebed695e2e4193db5e

original_commit_idstringrequired

The SHA of the original commit to which the comment applies.

Example:9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840

in_reply_to_idinteger

The comment ID to reply to.

Example:8

userobjectrequired

Simple User

Show Child Parameters
bodystringrequired

The text of the comment.

Example:We should probably include a check for null values here.

created_atstring(date-time)required

Example:2011-04-14T16:00:49Z

updated_atstring(date-time)required

Example:2011-04-14T16:00:49Z

html_urlstring(uri)required

HTML URL for the pull request review comment.

Example:https://github.com/octocat/Hello-World/pull/1#discussion-diff-1

pull_request_urlstring(uri)required

URL for the pull request that the review comment belongs to.

Example:https://api.github.com/repos/octocat/Hello-World/pulls/1

author_associationstringrequired

How the author is associated with the repository.

Allowed values:COLLABORATORCONTRIBUTORFIRST_TIMERFIRST_TIME_CONTRIBUTORMANNEQUINMEMBERNONEOWNER

Example:OWNER

_linksobjectrequired
Show Child Parameters
start_lineinteger | null

The first line of the range for a multi-line comment.

Example:2

original_start_lineinteger | null

The first line of the range for a multi-line comment.

Example:2

start_sidestring | null

The side of the first line of the range for a multi-line comment.

Allowed values:LEFTRIGHT

Default:RIGHT

lineinteger

The line of the blob to which the comment applies. The last line of the range for a multi-line comment

Example:2

original_lineinteger

The line of the blob to which the comment applies. The last line of the range for a multi-line comment

Example:2

sidestring

The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment

Allowed values:LEFTRIGHT

Default:RIGHT

reactionsobject
Show Child Parameters
body_htmlstring

Example:"<p>comment body</p>"

body_textstring

Example:"comment body"

post/repos/{owner}/{repo}/pulls/{pull_number}/comments

Body

{ "body": "Let's add this deleted line back.", "commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e", "path": "file1.txt", "line": 5, "side": "LEFT" }
 
application/json