This is the reference section of the Fisheye Crucible common REST API.
For information about Fisheye Crucible Plugin Development, visit the Development Hub.
This documentation was automatically generated from the WADL.
The REST resources decribed on this page produce and consume serialized objects whose structure is described in XML Schema: fecru.xsd.
FishEye uses paging to conserve server resources and limit response size for resources that return potentially large
collections of items. A request to a paged API will result in a values
array wrapped in a JSON object
with some paging metadata, like this:
{
"start": 3,
"size": 3,
"limit": 100,
"lastPage": true,
"values": [
{ /* result 0 */ },
{ /* result 1 */ },
{ /* result 2 */ }
]
}
Clients can use the limit
and start
query parameters to retrieve the desired number of
results.
The limit
parameter indicates how many results to return per page. Most APIs default to returning
100
if the limit is left unspecified. A resource can have a hard limit. It's always best practice to
check the limit
attribute on the response to see what limit has been applied.
The request to get a page with desired size should look like this:
http://host:port/context/rest/api/api-version/path/to/resource?limit={desired size of page}
For example:
http://fecru.atlassian.com/rest/api/1.0/rest-service-fecru/users?limit=50
The start
parameter indicates which item should be used as the first item in the page of results. All
paged responses contain a lastPage
attribute indicating whether another page of items exists.
If a paged response has a property lastPage
set to false
, the next page start should be calculated
by adding current page start
and size
.
The request to get a subsequent page should look like this:
http://host:port/context/path/to/resource?start={start of last page}+{size of last page}&limit={desired size of page}
For example:
http://fecru.atlassian.com/rest/api/1.0/rest-service-fecru/users?size=50&limit=50
This is a paged API.
Retrieve a page of users.
parameter | value | description |
---|---|---|
type |
filter users by authentication type: built-in, LDAP, host, custom, ajp, crowd |
|
crucible |
filter users by crucible flag |
available response representations:
{
"start" : 0,
"limit" : 100,
"lastPage" : true,
"size" : 4,
"values" : [ {
"name" : "mac",
"displayName" : "Maciej Swinarski",
"email" : "mac@atlassian.com",
"type" : "built-in",
"crucible" : true,
"timezone" : "UTC+01:00"
}, {
"name" : "cezary",
"displayName" : "Cezary Zawadka",
"email" : "cezary@atlassian.com",
"type" : "crowd",
"crucible" : true
}, {
"name" : "lukas",
"displayName" : "Lukasz Pater",
"email" : "lukas@atlassian.com",
"type" : "LDAP",
"crucible" : false
}, {
"name" : "piotr",
"displayName" : "Piotr Swiecicki",
"email" : "piotr@atlassian.com",
"type" : "crowd",
"crucible" : true
} ]
}
page of users
Creates a new user.
acceptable request representations:
{
"name" : "newkash",
"password" : "1234",
"displayName" : "Lukasz Kuzynski",
"email" : "newkash@atlassian.com",
"type" : "built-in",
"crucible" : true
}
available response representations:
parameter | value | description |
---|---|---|
name |
user name |
Retrieve a user by name.
available response representations:
Deletes a user by name
available response representations:
Updates an existing user.
acceptable request representations:
{
"password" : "5678",
"crucible" : false
}
available response representations:
parameter | value | description |
---|---|---|
name |
user name |
Adds user to group
acceptable request representations:
{
"name" : "team-5"
}
group name
available response representations:
Removes user from group
acceptable request representations:
{
"name" : "team-5"
}
group name
available response representations:
acceptable request representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<shareContentRequest>
<url>http://server/changelog/myRepo?cs=abc123</url>
<note>The message from the user</note>
<entity1>myRepo</entity1>
<entity2>abc123</entity2>
<type>changeset</type>
<users>user1, user2</users>
<emails>email1@company.com</emails>
<emails>email1@company.com</emails>
</shareContentRequest>
{
"url" : "http://server/changelog/myRepo?cs=abc123",
"note" : "The message from the user",
"entity1" : "myRepo",
"entity2" : "abc123",
"type" : "changeset",
"users" : [ "user1, user2" ],
"emails" : [ "email1@company.com", "email1@company.com" ]
}
available response representations:
no data
Exposes the repository maintenance operations.
Adds repository
Basic repository data:
acceptable request representations:
{
"type" : "SUBVERSION",
"name" : "repository_name",
"url" : "svn://svn_host/repository_name",
"path" : "repository_path",
"description" : "repository description",
"username" : "repository_username",
"password" : "repository_password"
}
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
when repository created
when repository name is already used
when repository couldn't be created
parameter | value | description |
---|---|---|
repo |
the repository to run for |
Runs an incremental repository index now. This is the same operation as triggered by scheduled indexing. Can be called using the REST Api Token to authorize.
parameter | value | description |
---|---|---|
synchronous |
Default: false |
if true will wait for the indexing to finish before returning |
available response representations:
parameter | value | description |
---|---|---|
repo |
the repository to start |
Starts the repository.
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
information about a repository state
when the repository doesn't exist
when the repository is not stopped
when the repository couldn't be started because of a configuration issue
parameter | value | description |
---|---|---|
repo |
the repository to enable |
Enables repository.
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
when repository enabled
when repository is already enabled
when enabling could not be persisted
parameter | value | description |
---|---|---|
repo |
the repository to disable |
Disables repository.
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
when repository disabled
when repository is disabled or not stopped
when disabling could not be persisted
parameter | value | description |
---|---|---|
repo |
the repository to delete |
parameter | value | description |
---|---|---|
repo |
the repository to stop |
Stops the repository. Does not wait for the repository to stop before returning.
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
information about a repository state
when the repository doesn't exist
when the repository is not running
parameter | value | description |
---|---|---|
repo |
the repository to reindex |
Deletes the existing cache and re-indexes the repository from scratch. For large or slow repositories this may take some time, during which some functionality will be unavailable. This action will also restart the repository.
parameter | value | description |
---|---|---|
clone |
Default: false |
if true and the repository is a dvcs repository (git or mercurial) it will re-clone the repository before re-indexing |
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
information about a repository state
when the repository doesn't exist
when the repository is disabled, or not running
parameter | value | description |
---|---|---|
repo |
the repository to reindex |
Re-indexes all the Crucible revision data (which revisions have been reviewed)
parameter | value | description |
---|---|---|
synchronous |
Default: false |
if true will wait for the indexing to finish before returning |
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
information about a repository state
when the repository doesn't exist
when the repository is disabled, or not running
parameter | value | description |
---|---|---|
repo |
the repository to re-index |
Re-indexes the linecount data used to generate the LOC graphs. The linecount data will be recalculated in daily buckets based on the server timezone.
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
information about a repository state
when the repository doesn't exist
when the repository is disabled, or not running
parameter | value | description |
---|---|---|
repo |
the repository to re-index. |
Rebuilds the search index data for the given repository. This will rebuild the data used to search by path, commit message and comitter, also used for activity streams and JIRA integration.
Note that the reindex process might take some time, and that search data will only be partially available during the process.
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
information about a repository state
when the repository doesn't exist
when the repository is disabled, or not running
parameter | value | description |
---|---|---|
repo |
the repository to perform the operation for |
Rebuilds the changeset discussion index for the specified repository. The index is used to display changeset discussions in activity streams.
Not all changeset discussions will be listed in the activity stream until re-indexing is complete
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
information about a repository state
when the repository doesn't exist
when the repository is disabled, or not running
parameter | value | description |
---|---|---|
repo |
the repository to scan |
Scans the whole CVS repository for any changes since the last scan. Only valid for CVS repositories.
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
information about a repository state
when the repository doesn't exist
when the repository is disabled, not running or not a cvs repository
parameter | value | description |
---|---|---|
repo |
the repository to re-scan |
Re-scans the repository metadata for SVN and Perforce repositories. Only valid for Perforce and SVN repositories.
parameter | value | description |
---|---|---|
from |
the revision number to start at |
|
to |
the revision number to end at |
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
information about a repository state
when missing required parameters
when the repository doesn't exist
when the repository is disabled, not running or not a valid repository type
parameter | value | description |
---|---|---|
repo |
the name of the repository |
Returns information about the status of the repository and the current indexing status
available response representations:
{
"name" : "repo1",
"state" : "RUNNING",
"enabled" : true,
"indexingStatus" : {
"message" : "Pre-calculating line count data: deleting old data",
"linesOfContentIndexingInProgress" : true,
"crossRepositoryRescanInProgress" : false,
"error" : false,
"fullIndexingInProgress" : false,
"initialScanningComplete" : false,
"lastScanTime" : 1350474087616,
"incrementalIndexingInProgress" : false,
"fullRepositorySlurpDone" : false,
"indexingStateCounts" : {
"UNKNOWN" : 600,
"SCANNED" : 500,
"INFILLED" : 400,
"METADATA_INDEXED" : 300,
"CONTENT_INDEXED" : 200,
"COMPLETE" : 100
}
}
}
information about a repository state
when the repository doesn't exist
parameter | value | description |
---|---|---|
property |
the property(preference) name |
parameter | value | description |
---|---|---|
repo |
the repository name |
|
property |
the property(preference) name |
Getting user's preference related to a certain repository
available response representations:
Provides general information about the server's configuration.
Provides general information about the server's configuration.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<serverInfo>
<timeZone>
<ID>Europe/Warsaw</ID>
<rawOffset>3600000</rawOffset>
</timeZone>
<appHomeDir>/home/fisheye</appHomeDir>
<appInstanceDir>/var/fisheye</appInstanceDir>
<version>
<releaseNumber>3.3.2</releaseNumber>
<buildDate>2014-03-19</buildDate>
</version>
<isFishEye>true</isFishEye>
<isCrucible>false</isCrucible>
</serverInfo>
Information about the server's configuration.
{
"timeZone" : "Europe/Warsaw",
"appHomeDir" : "/home/fisheye",
"appInstanceDir" : "/var/fisheye",
"version" : {
"releaseNumber" : "3.3.2",
"buildDate" : "2014-03-19"
},
"isFishEye" : true,
"isCrucible" : false
}
Information about the server's configuration.
Exposes the groups management operations. Admin only.
This is a paged API.
Retrieve a page of groups.
parameter | value | description |
---|---|---|
type |
filter groups by authentication type: built-in, LDAP, host, custom, ajp, crowd, ... |
|
admin |
filter groups by admin flag |
available response representations:
{
"start" : 0,
"limit" : 100,
"lastPage" : true,
"size" : 5,
"values" : [ {
"name" : "team-1",
"types" : [ "built-in" ],
"admin" : false
}, {
"name" : "team-2",
"types" : [ "built-in" ],
"admin" : false
}, {
"name" : "team-3",
"types" : [ "built-in" ],
"admin" : true
}, {
"name" : "team-4",
"types" : [ "crowd" ],
"admin" : false
}, {
"name" : "team-5",
"types" : [ "built-in", "crowd" ],
"admin" : true
} ]
}
page of groups
Creates a new built-in group.
acceptable request representations:
{
"name" : "team-6",
"types" : [ "built-in" ],
"admin" : true
}
available response representations:
parameter | value | description |
---|---|---|
name |
group name |
Retrieve a group by name.
available response representations:
Deletes a group by name
available response representations:
Updates an existing group.
acceptable request representations:
{
"admin" : false
}
available response representations:
parameter | value | description |
---|---|---|
name |
group name |
Adds user to group
acceptable request representations:
{
"name" : "mac"
}
user name
available response representations:
Removes user from group
acceptable request representations:
{
"name" : "mac"
}
user name
available response representations:
A rest service to get recently visited items for the logged in user.
Get a list of recently visited items for the currently logged in user.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recentlyVisitedItems>
<reviews>
<review>
<entityType>atlassian-review</entityType>
<entityId>PROJECT-KEY-1</entityId>
<lastViewed>1395231287736</lastViewed>
<uri>/context/cru/PROEJCT-KEY-1</uri>
</review>
</reviews>
<projects>
<project>
<entityType>atlassian-repository</entityType>
<entityId>repo_name</entityId>
<lastViewed>1395231287736</lastViewed>
<uri>/context/browse/repo_name</uri>
</project>
</projects>
<snippets>
<snippet>
<entityType>atlassian-snippet</entityType>
<entityId>PROJECT-KEY-2</entityId>
<lastViewed>1395231287736</lastViewed>
<uri>/context/snippet/PROEJCT-KEY-1</uri>
</snippet>
</snippets>
<repositories>
<repository>
<entityType>atlassian-repository</entityType>
<entityId>repo_name</entityId>
<lastViewed>1395231287736</lastViewed>
<uri>/context/browse/repo_name</uri>
</repository>
</repositories>
<users>
<user>
<entityType>atlassian-user</entityType>
<entityId>reviewer-1</entityId>
<lastViewed>1395231287736</lastViewed>
<uri>/context/user/reviewer-1</uri>
</user>
</users>
</recentlyVisitedItems>
A {@link RecentlyVisitedItems}, containing all types of recently visited items. The possible types are: repository, project, user, review, and snippet. If the license is crucible only, then, repository will not have any items. If license is fisheye only, then review and snippets will not have any items.
{
"reviews" : {
"review" : [ {
"entityType" : "atlassian-review",
"entityId" : "PROJECT-KEY-1",
"lastViewed" : 1395231287736,
"uri" : "/context/cru/PROEJCT-KEY-1"
} ]
},
"projects" : {
"project" : [ {
"entityType" : "atlassian-repository",
"entityId" : "repo_name",
"lastViewed" : 1395231287736,
"uri" : "/context/browse/repo_name"
} ]
},
"snippets" : {
"snippet" : [ {
"entityType" : "atlassian-snippet",
"entityId" : "PROJECT-KEY-2",
"lastViewed" : 1395231287736,
"uri" : "/context/snippet/PROEJCT-KEY-1"
} ]
},
"repositories" : {
"repository" : [ {
"entityType" : "atlassian-repository",
"entityId" : "repo_name",
"lastViewed" : 1395231287736,
"uri" : "/context/browse/repo_name"
} ]
},
"users" : {
"user" : [ {
"entityType" : "atlassian-user",
"entityId" : "reviewer-1",
"lastViewed" : 1395231287736,
"uri" : "/context/user/reviewer-1"
} ]
}
}
A {@link RecentlyVisitedItems}, containing all types of recently visited items. The possible types are: repository, project, user, review, and snippet. If the license is crucible only, then, repository will not have any items. If license is fisheye only, then review and snippets will not have any items.
Get a list of recently visisted items for the currently logged in user, including the detailed entities.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recentlyVisitedItems>
<reviews>
<review>
<entityType>atlassian-review</entityType>
<entityId>PROJECT-KEY-1</entityId>
<lastViewed>1395231287738</lastViewed>
<uri>/context/cru/PROEJCT-KEY-1</uri>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</author>
<closeDate>2014-03-19T13:14:47.733+0100</closeDate>
<createDate>2014-03-19T13:14:47.733+0100</createDate>
<creator>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</creator>
<description>description</description>
<dueDate>2014-03-19T13:14:47.733+0100</dueDate>
<jiraIssueKey>JIRA_1234</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</moderator>
<name>Review Title</name>
<permaId>
<id>PROJECT-KEY-1</id>
</permaId>
<projectKey>PROJECT-KEY</projectKey>
<state>Review</state>
<type>REVIEW</type>
</reviewData>
</review>
</reviews>
<projects>
<project>
<entityType>atlassian-repository</entityType>
<entityId>repo_name</entityId>
<lastViewed>1395231287738</lastViewed>
<uri>/context/browse/repo_name</uri>
<projectData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<allowedReviewers>reviewer-1</allowedReviewers>
<allowedReviewers>reviewer-2</allowedReviewers>
<allowedReviewers>reviewer-3</allowedReviewers>
<defaultDuration>5</defaultDuration>
<defaultModerator>default-moderator</defaultModerator>
<defaultObjectives>default objectives</defaultObjectives>
<defaultRepositoryName>Default_Repository</defaultRepositoryName>
<defaultReviewerUsers>reviewer-1</defaultReviewerUsers>
<defaultReviewerUsers>reviewer-2</defaultReviewerUsers>
<defaultReviewerUsers>reviewer-3</defaultReviewerUsers>
<id>1</id>
<key>PROJECT-KEY</key>
<moderatorEnabled>true</moderatorEnabled>
<name>Project Name</name>
<permissionSchemeId>1</permissionSchemeId>
</projectData>
</project>
</projects>
<snippets>
<snippet>
<entityType>atlassian-snippet</entityType>
<entityId>PROJECT-KEY-2</entityId>
<lastViewed>1395231287738</lastViewed>
<uri>/context/snippet/PROEJCT-KEY-1</uri>
<snippetData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</author>
<closeDate>2014-03-19T13:14:47.733+0100</closeDate>
<createDate>2014-03-19T13:14:47.733+0100</createDate>
<creator>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</creator>
<description>description</description>
<dueDate>2014-03-19T13:14:47.733+0100</dueDate>
<jiraIssueKey>JIRA_1234</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</moderator>
<name>Review Title</name>
<permaId>
<id>PROJECT-KEY-1</id>
</permaId>
<projectKey>PROJECT-KEY</projectKey>
<state>Review</state>
<type>SNIPPET</type>
</snippetData>
</snippet>
</snippets>
<repositories>
<repository>
<entityType>atlassian-repository</entityType>
<entityId>repo_name</entityId>
<lastViewed>1395231287738</lastViewed>
<uri>/context/browse/repo_name</uri>
<repoData repositoryState="RUNNING" name="repository_name" finishedFullSlurp="true" enabled="true"/>
</repository>
</repositories>
<users>
<user>
<entityType>atlassian-user</entityType>
<entityId>reviewer-1</entityId>
<lastViewed>1395231287738</lastViewed>
<uri>/context/user/reviewer-1</uri>
<userData>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</userData>
</user>
</users>
</recentlyVisitedItems>
A {@link RecentlyVisitedItems}, containing all types of recently visited items. The possible types are: repository, project, user, review, and snippet. If the license is crucible only, then, repository will not have any items. If license is fisheye only, then review and snippets will not have any items.
{
"reviews" : {
"review" : [ {
"entityType" : "atlassian-review",
"entityId" : "PROJECT-KEY-1",
"lastViewed" : 1395231287738,
"uri" : "/context/cru/PROEJCT-KEY-1",
"reviewData" : {
"projectKey" : "PROJECT-KEY",
"name" : "Review Title",
"description" : "description",
"author" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
},
"moderator" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
},
"creator" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
},
"permaId" : {
"id" : "PROJECT-KEY-1"
},
"state" : "Review",
"type" : "REVIEW",
"allowReviewersToJoin" : true,
"metricsVersion" : 4,
"createDate" : "2014-03-19T13:14:47.733+0100",
"closeDate" : "2014-03-19T13:14:47.733+0100",
"dueDate" : "2014-03-19T13:14:47.733+0100",
"jiraIssueKey" : "JIRA_1234"
}
} ]
},
"projects" : {
"project" : [ {
"entityType" : "atlassian-repository",
"entityId" : "repo_name",
"lastViewed" : 1395231287738,
"uri" : "/context/browse/repo_name",
"projectData" : {
"id" : 1,
"name" : "Project Name",
"key" : "PROJECT-KEY",
"defaultRepositoryName" : "Default_Repository",
"permissionSchemeId" : 1,
"allowReviewersToJoin" : true,
"defaultDuration" : 5,
"moderatorEnabled" : true,
"defaultReviewerUsers" : [ "reviewer-1", "reviewer-2", "reviewer-3" ],
"defaultModerator" : "default-moderator",
"defaultObjectives" : "default objectives",
"allowedReviewers" : [ "reviewer-1", "reviewer-2", "reviewer-3" ]
}
} ]
},
"snippets" : {
"snippet" : [ {
"entityType" : "atlassian-snippet",
"entityId" : "PROJECT-KEY-2",
"lastViewed" : 1395231287738,
"uri" : "/context/snippet/PROEJCT-KEY-1",
"snippetData" : {
"projectKey" : "PROJECT-KEY",
"name" : "Review Title",
"description" : "description",
"author" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
},
"moderator" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
},
"creator" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
},
"permaId" : {
"id" : "PROJECT-KEY-1"
},
"state" : "Review",
"type" : "SNIPPET",
"allowReviewersToJoin" : true,
"metricsVersion" : 4,
"createDate" : "2014-03-19T13:14:47.733+0100",
"closeDate" : "2014-03-19T13:14:47.733+0100",
"dueDate" : "2014-03-19T13:14:47.733+0100",
"jiraIssueKey" : "JIRA_1234"
}
} ]
},
"repositories" : {
"repository" : [ {
"entityType" : "atlassian-repository",
"entityId" : "repo_name",
"lastViewed" : 1395231287738,
"uri" : "/context/browse/repo_name",
"repoData" : {
"name" : "repository_name",
"enabled" : true,
"finishedFullSlurp" : true,
"repositoryState" : "RUNNING"
}
} ]
},
"users" : {
"user" : [ {
"entityType" : "atlassian-user",
"entityId" : "reviewer-1",
"lastViewed" : 1395231287738,
"uri" : "/context/user/reviewer-1",
"userData" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
}
} ]
}
}
A {@link RecentlyVisitedItems}, containing all types of recently visited items. The possible types are: repository, project, user, review, and snippet. If the license is crucible only, then, repository will not have any items. If license is fisheye only, then review and snippets will not have any items.
Get a list of recently visited repositories for the currently logged in user.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recentlyVisitedItems>
<repositories>
<repository>
<entityType>atlassian-repository</entityType>
<entityId>repo_name</entityId>
<lastViewed>1395231287736</lastViewed>
<uri>/context/browse/repo_name</uri>
</repository>
</repositories>
</recentlyVisitedItems>
A {@link RecentlyVisitedItems}, containing a list of {@link RepositoryRecentlyVisitedItemData} of the repositories recently visited by the logged in user. This does not contain the detailed entity.
{
"repositories" : {
"repository" : [ {
"entityType" : "atlassian-repository",
"entityId" : "repo_name",
"lastViewed" : 1395231287736,
"uri" : "/context/browse/repo_name"
} ]
}
}
A {@link RecentlyVisitedItems}, containing a list of {@link RepositoryRecentlyVisitedItemData} of the repositories recently visited by the logged in user. This does not contain the detailed entity.
Get a list of recently visisted repositories for the currently logged in user, including the detailed entities.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recentlyVisitedItems>
<repositories>
<repository>
<entityType>atlassian-repository</entityType>
<entityId>repo_name</entityId>
<lastViewed>1395231287738</lastViewed>
<uri>/context/browse/repo_name</uri>
<repoData repositoryState="RUNNING" name="repository_name" finishedFullSlurp="true" enabled="true"/>
</repository>
</repositories>
</recentlyVisitedItems>
A {@link RecentlyVisitedItems}, containing a list of {@link RepositoryRecentlyVisitedItemData} of the repositories recently visited by the logged in user, and also the detailed entity {@link com.atlassian.fisheye.spi.data.RepositoryDataFE}.
{
"repositories" : {
"repository" : [ {
"entityType" : "atlassian-repository",
"entityId" : "repo_name",
"lastViewed" : 1395231287738,
"uri" : "/context/browse/repo_name",
"repoData" : {
"name" : "repository_name",
"enabled" : true,
"finishedFullSlurp" : true,
"repositoryState" : "RUNNING"
}
} ]
}
}
A {@link RecentlyVisitedItems}, containing a list of {@link RepositoryRecentlyVisitedItemData} of the repositories recently visited by the logged in user, and also the detailed entity {@link com.atlassian.fisheye.spi.data.RepositoryDataFE}.
Get a list of recently visited users for the currently logged in user.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recentlyVisitedItems>
<users>
<user>
<entityType>atlassian-user</entityType>
<entityId>reviewer-1</entityId>
<lastViewed>1395231287736</lastViewed>
<uri>/context/user/reviewer-1</uri>
</user>
</users>
</recentlyVisitedItems>
A {@link RecentlyVisitedItems}, containing a list of {@link UserRecentlyVisitedItemData} of the users recently visited by the logged in user. This does not contain the detailed entity of the user.
{
"users" : {
"user" : [ {
"entityType" : "atlassian-user",
"entityId" : "reviewer-1",
"lastViewed" : 1395231287736,
"uri" : "/context/user/reviewer-1"
} ]
}
}
A {@link RecentlyVisitedItems}, containing a list of {@link UserRecentlyVisitedItemData} of the users recently visited by the logged in user. This does not contain the detailed entity of the user.
Get a list of recently visited users for the currently logged in user, including the detailed entities.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recentlyVisitedItems>
<users>
<user>
<entityType>atlassian-user</entityType>
<entityId>reviewer-1</entityId>
<lastViewed>1395231287738</lastViewed>
<uri>/context/user/reviewer-1</uri>
<userData>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</userData>
</user>
</users>
</recentlyVisitedItems>
A {@link RecentlyVisitedItems}, containing a list of {@link UserRecentlyVisitedItemData} of the users recently visited by the logged in user, and also the detailed entity {@link com.atlassian.crucible.spi.data.UserData}.
{
"users" : {
"user" : [ {
"entityType" : "atlassian-user",
"entityId" : "reviewer-1",
"lastViewed" : 1395231287738,
"uri" : "/context/user/reviewer-1",
"userData" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
}
} ]
}
}
A {@link RecentlyVisitedItems}, containing a list of {@link UserRecentlyVisitedItemData} of the users recently visited by the logged in user, and also the detailed entity {@link com.atlassian.crucible.spi.data.UserData}.
Get a list of recently visited projects for the currently logged in user.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recentlyVisitedItems>
<projects>
<project>
<entityType>atlassian-repository</entityType>
<entityId>repo_name</entityId>
<lastViewed>1395231287736</lastViewed>
<uri>/context/browse/repo_name</uri>
</project>
</projects>
</recentlyVisitedItems>
A {@link RecentlyVisitedItems}, containing a list of {@link ProjectRecentlyVisitedItemData} of the projects recently visited by the logged in user. This does not contain the detailed entity of the project.
{
"projects" : {
"project" : [ {
"entityType" : "atlassian-repository",
"entityId" : "repo_name",
"lastViewed" : 1395231287736,
"uri" : "/context/browse/repo_name"
} ]
}
}
A {@link RecentlyVisitedItems}, containing a list of {@link ProjectRecentlyVisitedItemData} of the projects recently visited by the logged in user. This does not contain the detailed entity of the project.
Get a list of recently visited projects for the currently logged in Project, including the detailed entities.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recentlyVisitedItems>
<projects>
<project>
<entityType>atlassian-repository</entityType>
<entityId>repo_name</entityId>
<lastViewed>1395231287738</lastViewed>
<uri>/context/browse/repo_name</uri>
<projectData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<allowedReviewers>reviewer-1</allowedReviewers>
<allowedReviewers>reviewer-2</allowedReviewers>
<allowedReviewers>reviewer-3</allowedReviewers>
<defaultDuration>5</defaultDuration>
<defaultModerator>default-moderator</defaultModerator>
<defaultObjectives>default objectives</defaultObjectives>
<defaultRepositoryName>Default_Repository</defaultRepositoryName>
<defaultReviewerUsers>reviewer-1</defaultReviewerUsers>
<defaultReviewerUsers>reviewer-2</defaultReviewerUsers>
<defaultReviewerUsers>reviewer-3</defaultReviewerUsers>
<id>1</id>
<key>PROJECT-KEY</key>
<moderatorEnabled>true</moderatorEnabled>
<name>Project Name</name>
<permissionSchemeId>1</permissionSchemeId>
</projectData>
</project>
</projects>
</recentlyVisitedItems>
A {@link RecentlyVisitedItems}, containing a list of {@link ProjectRecentlyVisitedItemData} of the projects recently visited by the logged in Project, and also the detailed entity {@link com.atlassian.crucible.spi.data.ProjectData}.
{
"projects" : {
"project" : [ {
"entityType" : "atlassian-repository",
"entityId" : "repo_name",
"lastViewed" : 1395231287738,
"uri" : "/context/browse/repo_name",
"projectData" : {
"id" : 1,
"name" : "Project Name",
"key" : "PROJECT-KEY",
"defaultRepositoryName" : "Default_Repository",
"permissionSchemeId" : 1,
"allowReviewersToJoin" : true,
"defaultDuration" : 5,
"moderatorEnabled" : true,
"defaultReviewerUsers" : [ "reviewer-1", "reviewer-2", "reviewer-3" ],
"defaultModerator" : "default-moderator",
"defaultObjectives" : "default objectives",
"allowedReviewers" : [ "reviewer-1", "reviewer-2", "reviewer-3" ]
}
} ]
}
}
A {@link RecentlyVisitedItems}, containing a list of {@link ProjectRecentlyVisitedItemData} of the projects recently visited by the logged in Project, and also the detailed entity {@link com.atlassian.crucible.spi.data.ProjectData}.
Get a list of recently visited reviews for the currently logged in user.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recentlyVisitedItems>
<reviews>
<review>
<entityType>atlassian-review</entityType>
<entityId>PROJECT-KEY-1</entityId>
<lastViewed>1395231287736</lastViewed>
<uri>/context/cru/PROEJCT-KEY-1</uri>
</review>
</reviews>
</recentlyVisitedItems>
A {@link RecentlyVisitedItems}, containing a list of {@link ReviewRecentlyVisitedItemData} of the reviews recently visited by the logged in user. This does not contain the detailed entity of the review.
{
"reviews" : {
"review" : [ {
"entityType" : "atlassian-review",
"entityId" : "PROJECT-KEY-1",
"lastViewed" : 1395231287736,
"uri" : "/context/cru/PROEJCT-KEY-1"
} ]
}
}
A {@link RecentlyVisitedItems}, containing a list of {@link ReviewRecentlyVisitedItemData} of the reviews recently visited by the logged in user. This does not contain the detailed entity of the review.
Get a list of recently visited reviews for the currently logged in user, including the detailed entities.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recentlyVisitedItems>
<reviews>
<review>
<entityType>atlassian-review</entityType>
<entityId>PROJECT-KEY-1</entityId>
<lastViewed>1395231287738</lastViewed>
<uri>/context/cru/PROEJCT-KEY-1</uri>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</author>
<closeDate>2014-03-19T13:14:47.733+0100</closeDate>
<createDate>2014-03-19T13:14:47.733+0100</createDate>
<creator>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</creator>
<description>description</description>
<dueDate>2014-03-19T13:14:47.733+0100</dueDate>
<jiraIssueKey>JIRA_1234</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</moderator>
<name>Review Title</name>
<permaId>
<id>PROJECT-KEY-1</id>
</permaId>
<projectKey>PROJECT-KEY</projectKey>
<state>Review</state>
<type>REVIEW</type>
</reviewData>
</review>
</reviews>
</recentlyVisitedItems>
A {@link RecentlyVisitedItems}, containing a list of {@link ReviewRecentlyVisitedItemData} of the reviews recently visited by the logged in user, and also the detailed entity {@link com.atlassian.crucible.spi.data.ReviewData}.
{
"reviews" : {
"review" : [ {
"entityType" : "atlassian-review",
"entityId" : "PROJECT-KEY-1",
"lastViewed" : 1395231287738,
"uri" : "/context/cru/PROEJCT-KEY-1",
"reviewData" : {
"projectKey" : "PROJECT-KEY",
"name" : "Review Title",
"description" : "description",
"author" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
},
"moderator" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
},
"creator" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
},
"permaId" : {
"id" : "PROJECT-KEY-1"
},
"state" : "Review",
"type" : "REVIEW",
"allowReviewersToJoin" : true,
"metricsVersion" : 4,
"createDate" : "2014-03-19T13:14:47.733+0100",
"closeDate" : "2014-03-19T13:14:47.733+0100",
"dueDate" : "2014-03-19T13:14:47.733+0100",
"jiraIssueKey" : "JIRA_1234"
}
} ]
}
}
A {@link RecentlyVisitedItems}, containing a list of {@link ReviewRecentlyVisitedItemData} of the reviews recently visited by the logged in user, and also the detailed entity {@link com.atlassian.crucible.spi.data.ReviewData}.
Get a list of recently visited snippets for the currently logged in user.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recentlyVisitedItems>
<snippets>
<snippet>
<entityType>atlassian-snippet</entityType>
<entityId>PROJECT-KEY-2</entityId>
<lastViewed>1395231287736</lastViewed>
<uri>/context/snippet/PROEJCT-KEY-1</uri>
</snippet>
</snippets>
</recentlyVisitedItems>
A {@link RecentlyVisitedItems}, containing a list of {@link SnippetRecentlyVisitedItemData} of the snippets recently visited by the logged in user. This does not contain the detailed entity of the snippet.
{
"snippets" : {
"snippet" : [ {
"entityType" : "atlassian-snippet",
"entityId" : "PROJECT-KEY-2",
"lastViewed" : 1395231287736,
"uri" : "/context/snippet/PROEJCT-KEY-1"
} ]
}
}
A {@link RecentlyVisitedItems}, containing a list of {@link SnippetRecentlyVisitedItemData} of the snippets recently visited by the logged in user. This does not contain the detailed entity of the snippet.
Get a list of recently visited snippets for the currently logged in user, including the detailed entities.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recentlyVisitedItems>
<snippets>
<snippet>
<entityType>atlassian-snippet</entityType>
<entityId>PROJECT-KEY-2</entityId>
<lastViewed>1395231287738</lastViewed>
<uri>/context/snippet/PROEJCT-KEY-1</uri>
<snippetData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</author>
<closeDate>2014-03-19T13:14:47.733+0100</closeDate>
<createDate>2014-03-19T13:14:47.733+0100</createDate>
<creator>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</creator>
<description>description</description>
<dueDate>2014-03-19T13:14:47.733+0100</dueDate>
<jiraIssueKey>JIRA_1234</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://localhost:8080/context/avatar/reviewer-1</avatarUrl>
<displayName>reviewer 1</displayName>
<userName>reviewer-1</userName>
</moderator>
<name>Review Title</name>
<permaId>
<id>PROJECT-KEY-1</id>
</permaId>
<projectKey>PROJECT-KEY</projectKey>
<state>Review</state>
<type>SNIPPET</type>
</snippetData>
</snippet>
</snippets>
</recentlyVisitedItems>
A {@link RecentlyVisitedItems}, containing a list of {@link SnippetRecentlyVisitedItemData} of the snippets recently visited by the logged in user, and also the detailed entity {@link com.atlassian.crucible.spi.data.ReviewData}.
{
"snippets" : {
"snippet" : [ {
"entityType" : "atlassian-snippet",
"entityId" : "PROJECT-KEY-2",
"lastViewed" : 1395231287738,
"uri" : "/context/snippet/PROEJCT-KEY-1",
"snippetData" : {
"projectKey" : "PROJECT-KEY",
"name" : "Review Title",
"description" : "description",
"author" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
},
"moderator" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
},
"creator" : {
"userName" : "reviewer-1",
"displayName" : "reviewer 1",
"avatarUrl" : "http://localhost:8080/context/avatar/reviewer-1"
},
"permaId" : {
"id" : "PROJECT-KEY-1"
},
"state" : "Review",
"type" : "SNIPPET",
"allowReviewersToJoin" : true,
"metricsVersion" : 4,
"createDate" : "2014-03-19T13:14:47.733+0100",
"closeDate" : "2014-03-19T13:14:47.733+0100",
"dueDate" : "2014-03-19T13:14:47.733+0100",
"jiraIssueKey" : "JIRA_1234"
}
} ]
}
}
A {@link RecentlyVisitedItems}, containing a list of {@link SnippetRecentlyVisitedItemData} of the snippets recently visited by the logged in user, and also the detailed entity {@link com.atlassian.crucible.spi.data.ReviewData}.