Jump to >

Review Diff Comment List Resource

Added in 1.6

Provides information on diff comments made on a review.

If the review is a draft, then comments can be added, deleted, or changed on this list. However, if the review is already published, then no changes can be made.

Details

Name diff_comments
URI /api/review-requests/{review_request_id}/reviews/{review_id}/diff-comments/
Token Policy ID review_diff_comment
HTTP Methods
  • GET - Returns the list of comments made on a review.
  • POST - Creates a new diff comment.
Parent Resource Review Resource
Child Resources
Anonymous Access Yes, if anonymous site access is enabled

HTTP GET

Returns the list of comments made on a review.

This list can be filtered down by using the ?line= and ?interdiff-revision=.

To filter for comments that start on a particular line in the file, using ?line=.

To filter for comments that span revisions of diffs, you can specify the second revision in the range using ?interdiff-revision=.

Request Parameters

counts-onlyBoolean If specified, a single count field is returned with the number of results, instead of the results themselves.
interdiff-revisionInteger The second revision in an interdiff revision range. The comments will be limited to this range.
lineInteger The line number that each comment must start on.
max-resultsInteger The maximum number of results to return in this list. By default, this is 25. There is a hard limit of 200; if you need more than 200 results, you will need to make more than one request, using the “next” pagination link.
order-byString

Comma-separated list of fields to order by.

Added in 1.7.10

startInteger The 0-based index of the first result in the list. The start index is usually the previous start index plus the number of previous results. By default, this is 0.

Errors

100 - Does Not ExistHTTP 404 - Not Found Object does not exist
101 - Permission DeniedHTTP 403 - Forbidden You don’t have permission for this
103 - Not Logged InHTTP 401 - Unauthorized You are not logged in
105 - Invalid Form DataHTTP 400 - Bad Request One or more fields had errors

HTTP POST

Creates a new diff comment.

This will create a new diff comment on this review. The review must be a draft review.

Request Parameters

filediff_idInteger Required

The ID of the file diff the comment is on.

first_lineInteger Required

The line number the comment starts at.

num_linesInteger Required

The number of lines the comment spans.

textRich Text Required

The comment text.

Added in 2.0

force_text_typeOne of plain, markdown, html

The text type, if any, to force for returned text fields. The contents will be converted to the requested type in the payload, but will not be saved as that type.

Added in 2.0.9

interfilediff_idInteger The ID of the second file diff in the interdiff the comment is on.
issue_openedBoolean

Whether the comment opens an issue.

Added in 2.0

text_typeOne of plain, markdown

The content type for the comment text field. The default is plain.

Added in 2.0

Errors

100 - Does Not ExistHTTP 404 - Not Found Object does not exist
101 - Permission DeniedHTTP 403 - Forbidden You don’t have permission for this
103 - Not Logged InHTTP 401 - Unauthorized You are not logged in
105 - Invalid Form DataHTTP 400 - Bad Request One or more fields had errors

Examples

application/vnd.reviewboard.org.review-diff-comments+json

$ curl http://reviews.example.com/api/review-requests/8/reviews/8/diff-comments/ -H "Accept: application/json"
Vary: Accept, Cookie
Item-Content-Type: application/vnd.reviewboard.org.review-diff-comment+json
Content-Type: application/vnd.reviewboard.org.review-diff-comments+json
X-Content-Type-Options: nosniff
{
  "diff_comments": [
    {
      "extra_data": {}, 
      "first_line": 12, 
      "id": 5, 
      "interfilediff": null, 
      "issue_opened": false, 
      "issue_status": "", 
      "links": {
        "delete": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/diff-comments/5/", 
          "method": "DELETE"
        }, 
        "filediff": {
          "href": "http://reviews.example.com/api/review-requests/8/diffs/3/files/41/", 
          "method": "GET", 
          "title": "/trunk/reviewboard/settings_local.py.tmpl (1797) -> /trunk/reviewboard/settings_local.py.tmpl ((working copy))"
        }, 
        "self": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/diff-comments/5/", 
          "method": "GET"
        }, 
        "update": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/diff-comments/5/", 
          "method": "PUT"
        }, 
        "user": {
          "href": "http://reviews.example.com/api/users/admin/", 
          "method": "GET", 
          "title": "admin"
        }
      }, 
      "num_lines": 3, 
      "public": true, 
      "text": "This is just a sample comment.", 
      "text_type": "plain", 
      "timestamp": "2010-08-22T17:25:41Z"
    }, 
    {
      "extra_data": {}, 
      "first_line": 29, 
      "id": 6, 
      "interfilediff": null, 
      "issue_opened": false, 
      "issue_status": "", 
      "links": {
        "delete": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/diff-comments/6/", 
          "method": "DELETE"
        }, 
        "filediff": {
          "href": "http://reviews.example.com/api/review-requests/8/diffs/3/files/41/", 
          "method": "GET", 
          "title": "/trunk/reviewboard/settings_local.py.tmpl (1797) -> /trunk/reviewboard/settings_local.py.tmpl ((working copy))"
        }, 
        "self": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/diff-comments/6/", 
          "method": "GET"
        }, 
        "update": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/diff-comments/6/", 
          "method": "PUT"
        }, 
        "user": {
          "href": "http://reviews.example.com/api/users/admin/", 
          "method": "GET", 
          "title": "admin"
        }
      }, 
      "num_lines": 3, 
      "public": true, 
      "text": "Another sample comment.", 
      "text_type": "plain", 
      "timestamp": "2010-08-22T17:25:52Z"
    }
  ], 
  "links": {
    "create": {
      "href": "http://reviews.example.com/api/review-requests/8/reviews/8/diff-comments/", 
      "method": "POST"
    }, 
    "self": {
      "href": "http://reviews.example.com/api/review-requests/8/reviews/8/diff-comments/", 
      "method": "GET"
    }
  }, 
  "stat": "ok", 
  "total_results": 2
}