Review Request List ResourceΒΆ
Name | review_requests |
URI | /api/review-requests/ |
Description | Provides information on review requests. |
HTTP Methods | |
Parent Resource | Root List Resource |
Child Resources | |
Anonymous Access | Yes, if anonymous site access is enabled |
LinksΒΆ
Name | Method | Resource |
---|---|---|
create | POST | Review Request List Resource |
self | GET | Review Request List Resource |
HTTP GETΒΆ
Returns all review requests that the user has read access to.
By default, this returns all published or formerly published review requests.
The resulting list can be filtered down through the many request parameters.
Request ParametersΒΆ
Field | Type | Description |
---|---|---|
changenum (optional) | String | The change number the review requests must have set. This will only return one review request per repository, and only works for repository types that support server-side changesets. |
counts-only (optional) | Boolean | If specified, a single count field is returned with the number of results, instead of the results themselves. |
from-user (optional) | String | The username that the review requests must be owned by. |
last-updated-from (optional) | String | The earliest date/time the review request could be last updated. This is compared against the review request’s last_updated field. This must be a valid date/time format. |
last-updated-to (optional) | String | The date/time that all review requests must be last updated before. This is compared against the review request’s last_updated field. This must be a valid date/time format. |
max-results (optional) | Integer | 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. |
repository (optional) | Integer | The ID of the repository that the review requests must be on. |
ship-it (optional) | Boolean | The review request must have at least one review with Ship It set, if this is 1. Otherwise, if 0, it must not have any marked Ship It. |
start (optional) | Integer | 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. |
status (optional) | One of all, discarded, pending, submitted | The status of the review requests. |
time-added-from (optional) | String | The earliest date/time the review request could be added. This is compared against the review request’s time_added field. This must be a valid date/time format. |
time-added-to (optional) | String | The date/time that all review requests must be added before. This is compared against the review request’s time_added field. This must be a valid date/time format. |
to-groups (optional) | String | A comma-separated list of review group names that the review requests must have in the reviewer list. |
to-user-groups (optional) | String | A comma-separated list of usernames who are in groups that the review requests must have in the reviewer list. |
to-users (optional) | String | A comma-separated list of usernames that the review requests must either have in the reviewer list specifically or by way of a group. |
to-users-directly (optional) | String | A comma-separated list of usernames that the review requests must have in the reviewer list specifically. |
ErrorsΒΆ
HTTP POSTΒΆ
Creates a new review request.
The new review request will start off as private and pending, and will normally be blank. However, if changenum is passed and the given repository both supports server-side changesets and has changeset support in Review Board, some details (Summary, Description and Testing Done sections, for instance) may be automatically filled in from the server.
Any new review request will have an associated draft (reachable through the draft link). All the details of the review request must be set through the draft. The new review request will be public when that first draft is published.
A repository can be passed. This is required for diffs associated with a review request. A valid repository is in the form of a numeric repository ID, the name of a repository, or the path to a repository (matching exactly the registered repository’s Path or Mirror Path fields in the adminstration interface).
If a repository is not passed, this review request can only be used for attached files.
Clients can create review requests on behalf of another user by setting the submit_as parameter to the username of the desired user. This requires that the client is currently logged in as a user that has the reviews.can_submit_as_another_user permission set. This capability is useful when writing automation scripts, such as post-commit hooks, that need to create review requests for another user.
Request ParametersΒΆ
Field | Type | Description |
---|---|---|
changenum (optional) | Integer | The optional changenumber to look up for the review request details. This only works with repositories that support server-side changesets. |
repository (optional) | String | The path or ID of the repository that the review request is for. |
submit_as (optional) | String | The optional user to submit the review request as. This requires that the actual logged in user is either a superuser or has the “reviews.can_submit_as_another_user” permission. |
ExamplesΒΆ
application/vnd.reviewboard.org.review-requests+jsonΒΆ
{
"links": {
"create": {
"href": "http://reviews.example.com/api/review-requests/",
"method": "POST"
},
"self": {
"href": "http://reviews.example.com/api/review-requests/",
"method": "GET"
}
},
"review_requests": [
{
"blocks": [],
"branch": "trunk",
"bugs_closed": [],
"changenum": null,
"depends_on": [],
"description": "This is a test designed for interdiffs.",
"id": 8,
"last_updated": "2010-08-28T02:26:18.474Z",
"links": {
"changes": {
"href": "http://reviews.example.com/api/review-requests/8/changes/",
"method": "GET"
},
"delete": {
"href": "http://reviews.example.com/api/review-requests/8/",
"method": "DELETE"
},
"diffs": {
"href": "http://reviews.example.com/api/review-requests/8/diffs/",
"method": "GET"
},
"draft": {
"href": "http://reviews.example.com/api/review-requests/8/draft/",
"method": "GET"
},
"file_attachments": {
"href": "http://reviews.example.com/api/review-requests/8/file-attachments/",
"method": "GET"
},
"last_update": {
"href": "http://reviews.example.com/api/review-requests/8/last-update/",
"method": "GET"
},
"repository": {
"href": "http://reviews.example.com/api/repositories/1/",
"method": "GET",
"title": "Review Board SVN"
},
"reviews": {
"href": "http://reviews.example.com/api/review-requests/8/reviews/",
"method": "GET"
},
"screenshots": {
"href": "http://reviews.example.com/api/review-requests/8/screenshots/",
"method": "GET"
},
"self": {
"href": "http://reviews.example.com/api/review-requests/8/",
"method": "GET"
},
"submitter": {
"href": "http://reviews.example.com/api/users/admin/",
"method": "GET",
"title": "admin"
},
"update": {
"href": "http://reviews.example.com/api/review-requests/8/",
"method": "PUT"
}
},
"public": true,
"status": "pending",
"summary": "Interdiff Revision Test",
"target_groups": [],
"target_people": [
{
"href": "http://reviews.example.com/api/users/grumpy/",
"method": "GET",
"title": "grumpy"
}
],
"testing_done": "",
"time_added": "2009-02-25T02:01:21Z",
"url": "/r/8/"
},
{
"blocks": [],
"branch": "",
"bugs_closed": [
"12345"
],
"changenum": 1234,
"depends_on": [],
"description": "Test description.",
"id": 4,
"last_updated": "2007-06-24T01:11:24Z",
"links": {
"changes": {
"href": "http://reviews.example.com/api/review-requests/4/changes/",
"method": "GET"
},
"delete": {
"href": "http://reviews.example.com/api/review-requests/4/",
"method": "DELETE"
},
"diffs": {
"href": "http://reviews.example.com/api/review-requests/4/diffs/",
"method": "GET"
},
"draft": {
"href": "http://reviews.example.com/api/review-requests/4/draft/",
"method": "GET"
},
"file_attachments": {
"href": "http://reviews.example.com/api/review-requests/4/file-attachments/",
"method": "GET"
},
"last_update": {
"href": "http://reviews.example.com/api/review-requests/4/last-update/",
"method": "GET"
},
"repository": {
"href": "http://reviews.example.com/api/repositories/1/",
"method": "GET",
"title": "Review Board SVN"
},
"reviews": {
"href": "http://reviews.example.com/api/review-requests/4/reviews/",
"method": "GET"
},
"screenshots": {
"href": "http://reviews.example.com/api/review-requests/4/screenshots/",
"method": "GET"
},
"self": {
"href": "http://reviews.example.com/api/review-requests/4/",
"method": "GET"
},
"submitter": {
"href": "http://reviews.example.com/api/users/grumpy/",
"method": "GET",
"title": "grumpy"
},
"update": {
"href": "http://reviews.example.com/api/review-requests/4/",
"method": "PUT"
}
},
"public": true,
"status": "pending",
"summary": "Made e-mail improvements",
"target_groups": [],
"target_people": [
{
"href": "http://reviews.example.com/api/users/doc/",
"method": "GET",
"title": "doc"
}
],
"testing_done": "Tested.",
"time_added": "2007-06-24T00:42:42Z",
"url": "/r/4/"
},
{
"blocks": [],
"branch": "trunk",
"bugs_closed": [],
"changenum": null,
"depends_on": [],
"description": "Foo",
"id": 6,
"last_updated": "2007-06-24T01:10:59Z",
"links": {
"changes": {
"href": "http://reviews.example.com/api/review-requests/6/changes/",
"method": "GET"
},
"delete": {
"href": "http://reviews.example.com/api/review-requests/6/",
"method": "DELETE"
},
"diffs": {
"href": "http://reviews.example.com/api/review-requests/6/diffs/",
"method": "GET"
},
"draft": {
"href": "http://reviews.example.com/api/review-requests/6/draft/",
"method": "GET"
},
"file_attachments": {
"href": "http://reviews.example.com/api/review-requests/6/file-attachments/",
"method": "GET"
},
"last_update": {
"href": "http://reviews.example.com/api/review-requests/6/last-update/",
"method": "GET"
},
"repository": {
"href": "http://reviews.example.com/api/repositories/1/",
"method": "GET",
"title": "Review Board SVN"
},
"reviews": {
"href": "http://reviews.example.com/api/review-requests/6/reviews/",
"method": "GET"
},
"screenshots": {
"href": "http://reviews.example.com/api/review-requests/6/screenshots/",
"method": "GET"
},
"self": {
"href": "http://reviews.example.com/api/review-requests/6/",
"method": "GET"
},
"submitter": {
"href": "http://reviews.example.com/api/users/dopey/",
"method": "GET",
"title": "dopey"
},
"update": {
"href": "http://reviews.example.com/api/review-requests/6/",
"method": "PUT"
}
},
"public": true,
"status": "pending",
"summary": "Error dialog",
"target_groups": [
{
"href": "http://reviews.example.com/api/groups/emptygroup/",
"method": "GET",
"title": "emptygroup"
}
],
"target_people": [],
"testing_done": "Bar",
"time_added": "2007-06-24T00:47:14Z",
"url": "/r/6/"
},
{
"blocks": [],
"branch": "trunk",
"bugs_closed": [
"123"
],
"changenum": null,
"depends_on": [],
"description": "Be compatible with cleaned_data changes in Django.",
"id": 2,
"last_updated": "2007-06-24T00:34:17Z",
"links": {
"changes": {
"href": "http://reviews.example.com/api/review-requests/2/changes/",
"method": "GET"
},
"delete": {
"href": "http://reviews.example.com/api/review-requests/2/",
"method": "DELETE"
},
"diffs": {
"href": "http://reviews.example.com/api/review-requests/2/diffs/",
"method": "GET"
},
"draft": {
"href": "http://reviews.example.com/api/review-requests/2/draft/",
"method": "GET"
},
"file_attachments": {
"href": "http://reviews.example.com/api/review-requests/2/file-attachments/",
"method": "GET"
},
"last_update": {
"href": "http://reviews.example.com/api/review-requests/2/last-update/",
"method": "GET"
},
"repository": {
"href": "http://reviews.example.com/api/repositories/1/",
"method": "GET",
"title": "Review Board SVN"
},
"reviews": {
"href": "http://reviews.example.com/api/review-requests/2/reviews/",
"method": "GET"
},
"screenshots": {
"href": "http://reviews.example.com/api/review-requests/2/screenshots/",
"method": "GET"
},
"self": {
"href": "http://reviews.example.com/api/review-requests/2/",
"method": "GET"
},
"submitter": {
"href": "http://reviews.example.com/api/users/dopey/",
"method": "GET",
"title": "dopey"
},
"update": {
"href": "http://reviews.example.com/api/review-requests/2/",
"method": "PUT"
}
},
"public": true,
"status": "pending",
"summary": "Update for cleaned_data changes",
"target_groups": [
{
"href": "http://reviews.example.com/api/groups/devgroup/",
"method": "GET",
"title": "devgroup"
}
],
"target_people": [],
"testing_done": "Works.",
"time_added": "2007-06-24T00:14:32Z",
"url": "/r/2/"
},
{
"blocks": [],
"branch": "trunk",
"bugs_closed": [
"1234",
"4321",
"5678",
"8765"
],
"changenum": null,
"depends_on": [],
"description": "Added some user permissions checking for JSON API functions.",
"id": 3,
"last_updated": "2007-06-24T00:28:33Z",
"links": {
"changes": {
"href": "http://reviews.example.com/api/review-requests/3/changes/",
"method": "GET"
},
"delete": {
"href": "http://reviews.example.com/api/review-requests/3/",
"method": "DELETE"
},
"diffs": {
"href": "http://reviews.example.com/api/review-requests/3/diffs/",
"method": "GET"
},
"draft": {
"href": "http://reviews.example.com/api/review-requests/3/draft/",
"method": "GET"
},
"file_attachments": {
"href": "http://reviews.example.com/api/review-requests/3/file-attachments/",
"method": "GET"
},
"last_update": {
"href": "http://reviews.example.com/api/review-requests/3/last-update/",
"method": "GET"
},
"repository": {
"href": "http://reviews.example.com/api/repositories/1/",
"method": "GET",
"title": "Review Board SVN"
},
"reviews": {
"href": "http://reviews.example.com/api/review-requests/3/reviews/",
"method": "GET"
},
"screenshots": {
"href": "http://reviews.example.com/api/review-requests/3/screenshots/",
"method": "GET"
},
"self": {
"href": "http://reviews.example.com/api/review-requests/3/",
"method": "GET"
},
"submitter": {
"href": "http://reviews.example.com/api/users/admin/",
"method": "GET",
"title": "admin"
},
"update": {
"href": "http://reviews.example.com/api/review-requests/3/",
"method": "PUT"
}
},
"public": true,
"status": "pending",
"summary": "Add permission checking for JSON API",
"target_groups": [
{
"href": "http://reviews.example.com/api/groups/privgroup/",
"method": "GET",
"title": "privgroup"
}
],
"target_people": [
{
"href": "http://reviews.example.com/api/users/doc/",
"method": "GET",
"title": "doc"
},
{
"href": "http://reviews.example.com/api/users/dopey/",
"method": "GET",
"title": "dopey"
}
],
"testing_done": "Tested some functions.",
"time_added": "2007-06-24T00:17:33Z",
"url": "/r/3/"
}
],
"stat": "ok",
"total_results": 5
}
application/vnd.reviewboard.org.review-requests+xmlΒΆ
<?xml version="1.0" encoding="utf-8"?>
<rsp>
<total_results>5</total_results>
<stat>ok</stat>
<review_requests>
<array>
<item>
<status>pending</status>
<blocks>
<array>
</array>
</blocks>
<description>This is a test designed for interdiffs.</description>
<links>
<diffs>
<href>http://reviews.example.com/api/review-requests/8/diffs/</href>
<method>GET</method>
</diffs>
<repository>
<href>http://reviews.example.com/api/repositories/1/</href>
<method>GET</method>
<title>Review Board SVN</title>
</repository>
<screenshots>
<href>http://reviews.example.com/api/review-requests/8/screenshots/</href>
<method>GET</method>
</screenshots>
<self>
<href>http://reviews.example.com/api/review-requests/8/</href>
<method>GET</method>
</self>
<update>
<href>http://reviews.example.com/api/review-requests/8/</href>
<method>PUT</method>
</update>
<last_update>
<href>http://reviews.example.com/api/review-requests/8/last-update/</href>
<method>GET</method>
</last_update>
<reviews>
<href>http://reviews.example.com/api/review-requests/8/reviews/</href>
<method>GET</method>
</reviews>
<draft>
<href>http://reviews.example.com/api/review-requests/8/draft/</href>
<method>GET</method>
</draft>
<file_attachments>
<href>http://reviews.example.com/api/review-requests/8/file-attachments/</href>
<method>GET</method>
</file_attachments>
<submitter>
<href>http://reviews.example.com/api/users/admin/</href>
<method>GET</method>
<title>admin</title>
</submitter>
<changes>
<href>http://reviews.example.com/api/review-requests/8/changes/</href>
<method>GET</method>
</changes>
<delete>
<href>http://reviews.example.com/api/review-requests/8/</href>
<method>DELETE</method>
</delete>
</links>
<url>/r/8/</url>
<depends_on>
<array>
</array>
</depends_on>
<target_groups>
<array>
</array>
</target_groups>
<bugs_closed>
<array>
</array>
</bugs_closed>
<changenum>
</changenum>
<target_people>
<array>
<item>
<href>http://reviews.example.com/api/users/grumpy/</href>
<method>GET</method>
<title>grumpy</title>
</item>
</array>
</target_people>
<testing_done></testing_done>
<branch>trunk</branch>
<id>8</id>
<last_updated>2010-08-28T02:26:18.474Z</last_updated>
<time_added>2009-02-25T02:01:21Z</time_added>
<summary>Interdiff Revision Test</summary>
<public>1</public>
</item>
<item>
<status>pending</status>
<blocks>
<array>
</array>
</blocks>
<description>Test description.</description>
<links>
<diffs>
<href>http://reviews.example.com/api/review-requests/4/diffs/</href>
<method>GET</method>
</diffs>
<repository>
<href>http://reviews.example.com/api/repositories/1/</href>
<method>GET</method>
<title>Review Board SVN</title>
</repository>
<screenshots>
<href>http://reviews.example.com/api/review-requests/4/screenshots/</href>
<method>GET</method>
</screenshots>
<self>
<href>http://reviews.example.com/api/review-requests/4/</href>
<method>GET</method>
</self>
<update>
<href>http://reviews.example.com/api/review-requests/4/</href>
<method>PUT</method>
</update>
<last_update>
<href>http://reviews.example.com/api/review-requests/4/last-update/</href>
<method>GET</method>
</last_update>
<reviews>
<href>http://reviews.example.com/api/review-requests/4/reviews/</href>
<method>GET</method>
</reviews>
<draft>
<href>http://reviews.example.com/api/review-requests/4/draft/</href>
<method>GET</method>
</draft>
<file_attachments>
<href>http://reviews.example.com/api/review-requests/4/file-attachments/</href>
<method>GET</method>
</file_attachments>
<submitter>
<href>http://reviews.example.com/api/users/grumpy/</href>
<method>GET</method>
<title>grumpy</title>
</submitter>
<changes>
<href>http://reviews.example.com/api/review-requests/4/changes/</href>
<method>GET</method>
</changes>
<delete>
<href>http://reviews.example.com/api/review-requests/4/</href>
<method>DELETE</method>
</delete>
</links>
<url>/r/4/</url>
<depends_on>
<array>
</array>
</depends_on>
<target_groups>
<array>
</array>
</target_groups>
<bugs_closed>
<array>
<item>12345</item>
</array>
</bugs_closed>
<changenum>1234</changenum>
<target_people>
<array>
<item>
<href>http://reviews.example.com/api/users/doc/</href>
<method>GET</method>
<title>doc</title>
</item>
</array>
</target_people>
<testing_done>Tested.</testing_done>
<branch></branch>
<id>4</id>
<last_updated>2007-06-24T01:11:24Z</last_updated>
<time_added>2007-06-24T00:42:42Z</time_added>
<summary>Made e-mail improvements</summary>
<public>1</public>
</item>
<item>
<status>pending</status>
<blocks>
<array>
</array>
</blocks>
<description>Foo</description>
<links>
<diffs>
<href>http://reviews.example.com/api/review-requests/6/diffs/</href>
<method>GET</method>
</diffs>
<repository>
<href>http://reviews.example.com/api/repositories/1/</href>
<method>GET</method>
<title>Review Board SVN</title>
</repository>
<screenshots>
<href>http://reviews.example.com/api/review-requests/6/screenshots/</href>
<method>GET</method>
</screenshots>
<self>
<href>http://reviews.example.com/api/review-requests/6/</href>
<method>GET</method>
</self>
<update>
<href>http://reviews.example.com/api/review-requests/6/</href>
<method>PUT</method>
</update>
<last_update>
<href>http://reviews.example.com/api/review-requests/6/last-update/</href>
<method>GET</method>
</last_update>
<reviews>
<href>http://reviews.example.com/api/review-requests/6/reviews/</href>
<method>GET</method>
</reviews>
<draft>
<href>http://reviews.example.com/api/review-requests/6/draft/</href>
<method>GET</method>
</draft>
<file_attachments>
<href>http://reviews.example.com/api/review-requests/6/file-attachments/</href>
<method>GET</method>
</file_attachments>
<submitter>
<href>http://reviews.example.com/api/users/dopey/</href>
<method>GET</method>
<title>dopey</title>
</submitter>
<changes>
<href>http://reviews.example.com/api/review-requests/6/changes/</href>
<method>GET</method>
</changes>
<delete>
<href>http://reviews.example.com/api/review-requests/6/</href>
<method>DELETE</method>
</delete>
</links>
<url>/r/6/</url>
<depends_on>
<array>
</array>
</depends_on>
<target_groups>
<array>
<item>
<href>http://reviews.example.com/api/groups/emptygroup/</href>
<method>GET</method>
<title>emptygroup</title>
</item>
</array>
</target_groups>
<bugs_closed>
<array>
</array>
</bugs_closed>
<changenum>
</changenum>
<target_people>
<array>
</array>
</target_people>
<testing_done>Bar</testing_done>
<branch>trunk</branch>
<id>6</id>
<last_updated>2007-06-24T01:10:59Z</last_updated>
<time_added>2007-06-24T00:47:14Z</time_added>
<summary>Error dialog</summary>
<public>1</public>
</item>
<item>
<status>pending</status>
<blocks>
<array>
</array>
</blocks>
<description>Be compatible with cleaned_data changes in Django.</description>
<links>
<diffs>
<href>http://reviews.example.com/api/review-requests/2/diffs/</href>
<method>GET</method>
</diffs>
<repository>
<href>http://reviews.example.com/api/repositories/1/</href>
<method>GET</method>
<title>Review Board SVN</title>
</repository>
<screenshots>
<href>http://reviews.example.com/api/review-requests/2/screenshots/</href>
<method>GET</method>
</screenshots>
<self>
<href>http://reviews.example.com/api/review-requests/2/</href>
<method>GET</method>
</self>
<update>
<href>http://reviews.example.com/api/review-requests/2/</href>
<method>PUT</method>
</update>
<last_update>
<href>http://reviews.example.com/api/review-requests/2/last-update/</href>
<method>GET</method>
</last_update>
<reviews>
<href>http://reviews.example.com/api/review-requests/2/reviews/</href>
<method>GET</method>
</reviews>
<draft>
<href>http://reviews.example.com/api/review-requests/2/draft/</href>
<method>GET</method>
</draft>
<file_attachments>
<href>http://reviews.example.com/api/review-requests/2/file-attachments/</href>
<method>GET</method>
</file_attachments>
<submitter>
<href>http://reviews.example.com/api/users/dopey/</href>
<method>GET</method>
<title>dopey</title>
</submitter>
<changes>
<href>http://reviews.example.com/api/review-requests/2/changes/</href>
<method>GET</method>
</changes>
<delete>
<href>http://reviews.example.com/api/review-requests/2/</href>
<method>DELETE</method>
</delete>
</links>
<url>/r/2/</url>
<depends_on>
<array>
</array>
</depends_on>
<target_groups>
<array>
<item>
<href>http://reviews.example.com/api/groups/devgroup/</href>
<method>GET</method>
<title>devgroup</title>
</item>
</array>
</target_groups>
<bugs_closed>
<array>
<item>123</item>
</array>
</bugs_closed>
<changenum>
</changenum>
<target_people>
<array>
</array>
</target_people>
<testing_done>Works.</testing_done>
<branch>trunk</branch>
<id>2</id>
<last_updated>2007-06-24T00:34:17Z</last_updated>
<time_added>2007-06-24T00:14:32Z</time_added>
<summary>Update for cleaned_data changes</summary>
<public>1</public>
</item>
<item>
<status>pending</status>
<blocks>
<array>
</array>
</blocks>
<description>Added some user permissions checking for JSON API functions.</description>
<links>
<diffs>
<href>http://reviews.example.com/api/review-requests/3/diffs/</href>
<method>GET</method>
</diffs>
<repository>
<href>http://reviews.example.com/api/repositories/1/</href>
<method>GET</method>
<title>Review Board SVN</title>
</repository>
<screenshots>
<href>http://reviews.example.com/api/review-requests/3/screenshots/</href>
<method>GET</method>
</screenshots>
<self>
<href>http://reviews.example.com/api/review-requests/3/</href>
<method>GET</method>
</self>
<update>
<href>http://reviews.example.com/api/review-requests/3/</href>
<method>PUT</method>
</update>
<last_update>
<href>http://reviews.example.com/api/review-requests/3/last-update/</href>
<method>GET</method>
</last_update>
<reviews>
<href>http://reviews.example.com/api/review-requests/3/reviews/</href>
<method>GET</method>
</reviews>
<draft>
<href>http://reviews.example.com/api/review-requests/3/draft/</href>
<method>GET</method>
</draft>
<file_attachments>
<href>http://reviews.example.com/api/review-requests/3/file-attachments/</href>
<method>GET</method>
</file_attachments>
<submitter>
<href>http://reviews.example.com/api/users/admin/</href>
<method>GET</method>
<title>admin</title>
</submitter>
<changes>
<href>http://reviews.example.com/api/review-requests/3/changes/</href>
<method>GET</method>
</changes>
<delete>
<href>http://reviews.example.com/api/review-requests/3/</href>
<method>DELETE</method>
</delete>
</links>
<url>/r/3/</url>
<depends_on>
<array>
</array>
</depends_on>
<target_groups>
<array>
<item>
<href>http://reviews.example.com/api/groups/privgroup/</href>
<method>GET</method>
<title>privgroup</title>
</item>
</array>
</target_groups>
<bugs_closed>
<array>
<item>1234</item>
<item>4321</item>
<item>5678</item>
<item>8765</item>
</array>
</bugs_closed>
<changenum>
</changenum>
<target_people>
<array>
<item>
<href>http://reviews.example.com/api/users/doc/</href>
<method>GET</method>
<title>doc</title>
</item>
<item>
<href>http://reviews.example.com/api/users/dopey/</href>
<method>GET</method>
<title>dopey</title>
</item>
</array>
</target_people>
<testing_done>Tested some functions.</testing_done>
<branch>trunk</branch>
<id>3</id>
<last_updated>2007-06-24T00:28:33Z</last_updated>
<time_added>2007-06-24T00:17:33Z</time_added>
<summary>Add permission checking for JSON API</summary>
<public>1</public>
</item>
</array>
</review_requests>
<links>
<self>
<href>http://reviews.example.com/api/review-requests/</href>
<method>GET</method>
</self>
<create>
<href>http://reviews.example.com/api/review-requests/</href>
<method>POST</method>
</create>
</links>
</rsp>