Jump to >

Review Diff Comment 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_comment
URI /api/review-requests/{review_request_id}/reviews/{review_id}/diff-comments/{comment_id}/
Token Policy ID review_diff_comment
HTTP Methods
  • DELETE -

    Deletes the comment.

  • GET -

    Returns information on the comment.

  • PUT -

    Updates a diff comment.

Parent Resource

Review Diff Comment List Resource

Child Resources

None

Anonymous Access

Yes, if anonymous site access is enabled

Fields

extra_dataDictionary

Extra data as part of the comment. This depends on what is being commented on, and may be used in conjunction with an extension.

Added in 2.0

filediffFile Diff Resource

The per-file diff that the comment was made on.

first_lineInteger

The line number that the comment starts at.

idInteger

The numeric ID of the comment.

interfilediffFile Diff Resource

The second per-file diff in an interdiff that the comment was made on. This will be null if the comment wasn’t made on an interdiff.

issue_openedBoolean

Whether or not a comment opens an issue.

issue_statusOne of open, resolved, dropped, verifying-resolved, verifying-dropped

The status of an issue.

num_linesInteger

The number of lines the comment spans.

publicBoolean

Whether or not the comment is part of a public review.

Added in 2.0

textRich Text

The comment text.

Added in 2.0

text_typeOne of plain, markdown, html

The mode for the comment text field.

Added in 2.0

timestamp

ISO 8601 Date/Time

The date and time that the comment was made.

Added in 2.0

userUser Resource

The user who made the comment.

Added in 2.0

HTTP DELETE

Deletes the comment.

This will remove the comment from the review. This cannot be undone.

Only comments on draft reviews can be deleted. Attempting to delete a published comment will return a Permission Denied error.

Instead of a payload response, this will return HTTP 204 No Content.

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
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 GET

Returns information on the comment.

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
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 PUT

Updates a diff comment.

This can update the text or line range of an existing comment.

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

Request Parameters

first_lineInteger

The line number the comment starts at.

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

issue_openedBoolean

Whether or not the comment opens an issue.

Added in 2.0

issue_statusOne of open, resolved, dropped, verifying-resolved, verifying-dropped

The status of an open issue.

Added in 2.0

num_linesInteger

The number of lines the comment spans.

textRich Text

The comment text.

Added in 2.0

text_typeOne of plain, markdown

The new content type for the comment text field. The default is to leave the type unchanged.

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-diff-comment+json

$ curl http://reviews.example.com/api8/8/5/ -H "Accept: application/json"
Content-Type: application/vnd.reviewboard.org.review-diff-comment+json
X-Content-Type-Options: nosniff
ETag: df2eba16af72e0291664fe1cce1e5cdb38e22242
Vary: Accept, Cookie
{
  "diff_comment": {
    "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"
  },
  "stat": "ok"
}