Jump to >

Review Reply Diff Comment List Resource

Added in 1.6

Provides information on replies to diff comments made on a review reply.

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

Details

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

HTTP GET

Returns the list of replies to comments made on a review reply.

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
112 - OAuth2 Missing Scope ErrorHTTP 403 - Forbidden Your OAuth2 token lacks the necessary scopes for this request.
113 - OAuth2 Access Denied ErrorHTTP 403 - Forbidden OAuth2 token access for this resource is prohibited.

HTTP POST

Creates a new reply to a diff comment on the parent review.

This will create a new diff comment as part of this reply. The reply must be a draft reply.

Extra data can be stored later lookup. See Storing/Accessing Extra Data for more information.

Request Parameters

reply_to_idInteger Required

The ID of the comment being replied to.

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

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
112 - OAuth2 Missing Scope ErrorHTTP 403 - Forbidden Your OAuth2 token lacks the necessary scopes for this request.
113 - OAuth2 Access Denied ErrorHTTP 403 - Forbidden OAuth2 token access for this resource is prohibited.

Examples

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

$ curl http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/diff-comments/ -H "Accept: application/json"
Vary: Accept, Cookie
Item-Content-Type: application/vnd.reviewboard.org.review-reply-diff-comment+json
Content-Type: application/vnd.reviewboard.org.review-reply-diff-comments+json
X-Content-Type-Options: nosniff
{
  "diff_comments": [
    {
      "extra_data": {}, 
      "first_line": 12, 
      "id": 9, 
      "interfilediff": null, 
      "issue_opened": false, 
      "issue_status": "", 
      "links": {
        "delete": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/diff-comments/9/", 
          "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))"
        }, 
        "reply_to": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/diff-comments/5/", 
          "method": "GET", 
          "title": "This is just a sample comment."
        }, 
        "self": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/diff-comments/9/", 
          "method": "GET"
        }, 
        "update": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/diff-comments/9/", 
          "method": "PUT"
        }, 
        "user": {
          "href": "http://reviews.example.com/api/users/admin/", 
          "method": "GET", 
          "title": "admin"
        }
      }, 
      "num_lines": 3, 
      "public": true, 
      "text": "I completely agree.", 
      "text_type": "plain", 
      "timestamp": "2010-08-25T03:00:22Z"
    }, 
    {
      "extra_data": {}, 
      "first_line": 29, 
      "id": 10, 
      "interfilediff": null, 
      "issue_opened": false, 
      "issue_status": "", 
      "links": {
        "delete": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/diff-comments/10/", 
          "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))"
        }, 
        "reply_to": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/diff-comments/6/", 
          "method": "GET", 
          "title": "Another sample comment."
        }, 
        "self": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/diff-comments/10/", 
          "method": "GET"
        }, 
        "update": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/diff-comments/10/", 
          "method": "PUT"
        }, 
        "user": {
          "href": "http://reviews.example.com/api/users/admin/", 
          "method": "GET", 
          "title": "admin"
        }
      }, 
      "num_lines": 3, 
      "public": true, 
      "text": "Utter nonsense!", 
      "text_type": "plain", 
      "timestamp": "2010-08-25T03:00:30Z"
    }
  ], 
  "links": {
    "create": {
      "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/diff-comments/", 
      "method": "POST"
    }, 
    "self": {
      "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/diff-comments/", 
      "method": "GET"
    }
  }, 
  "stat": "ok", 
  "total_results": 2
}