This is the reference section of the Crucible REST API.
For information about Crucible Plugin Development, visit the Development Hub.
This documentation was automatically generated from the WADL.
The REST resources described on this page produce and consume serialized objects whose structure is described in XML Schema: crucible.xsd.
Provides an API for working with Projects.
Get the list of projects that the authenticated user is entitled to acess.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<projects>
<projectData>
<allowedReviewers size="2"/>
<allowReviewersToJoin>true</allowReviewersToJoin>
<defaultDuration>5</defaultDuration>
<defaultModerator>joe</defaultModerator>
<defaultObjectives>default objectives</defaultObjectives>
<defaultRepositoryName>FOOREPO</defaultRepositoryName>
<defaultReviewers>
<userName>joe</userName>
<userName>fred</userName>
</defaultReviewers>
<id>5</id>
<key>CR-FOO</key>
<moderatorEnabled>true</moderatorEnabled>
<name>Foo Project</name>
<permissionSchemeId>32</permissionSchemeId>
</projectData>
<projectData>
<allowedReviewers size="2"/>
<allowReviewersToJoin>true</allowReviewersToJoin>
<defaultDuration>5</defaultDuration>
<defaultModerator>joe</defaultModerator>
<defaultObjectives>default objectives</defaultObjectives>
<defaultRepositoryName>FOOREPO</defaultRepositoryName>
<defaultReviewers>
<userName>joe</userName>
<userName>fred</userName>
</defaultReviewers>
<id>5</id>
<key>CR-FOO</key>
<moderatorEnabled>true</moderatorEnabled>
<name>Foo Project</name>
<permissionSchemeId>32</permissionSchemeId>
</projectData>
</projects>
A list of all Crucible projects that the caller is entitled to access.
parameter | value | description |
---|---|---|
key |
the key of a Crucible project. |
Returns a project description.
If the specified project does not exist, or the caller does not have permission to access the project, 404 is returned.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotFound</code>
<message>Requested resource not found.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotFoundException: Requested resource not found.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:27)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
Response when the requested Crucible project does not exist.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<projectData>
<allowedReviewers size="2"/>
<allowReviewersToJoin>true</allowReviewersToJoin>
<defaultDuration>5</defaultDuration>
<defaultModerator>joe</defaultModerator>
<defaultObjectives>default objectives</defaultObjectives>
<defaultRepositoryName>FOOREPO</defaultRepositoryName>
<defaultReviewers>
<userName>joe</userName>
<userName>fred</userName>
</defaultReviewers>
<id>5</id>
<key>CR-FOO</key>
<moderatorEnabled>true</moderatorEnabled>
<name>Foo Project</name>
<permissionSchemeId>32</permissionSchemeId>
</projectData>
A detailed description of a Crucible project.
Source: crucible.xsd
<xs:complexType name="projectData"> <xs:sequence> <xs:element name="allowReviewersToJoin" type="xs:boolean"/> <xs:element name="allowedReviewers" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="defaultDuration" type="xs:int" minOccurs="0"/> <xs:element name="defaultModerator" type="xs:string" minOccurs="0"/> <xs:element name="defaultObjectives" type="xs:string" minOccurs="0"/> <xs:element name="defaultRepositoryName" type="xs:string" minOccurs="0"/> <xs:element name="defaultReviewerUsers" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="id" type="xs:int"/> <xs:element name="key" type="xs:string" minOccurs="0"/> <xs:element name="moderatorEnabled" type="xs:boolean"/> <xs:element name="name" type="xs:string" minOccurs="0"/> <xs:element name="permissionSchemeId" type="xs:int"/> </xs:sequence> </xs:complexType>
This resource is used to create session tokens.
This resource offers the ability for client applications to authenticate with Crucible and use the returned session identifier to make further calls without the need to send the caller's username and password every time.
Usage of this resource is not required, as Crucible's REST API also supports basic HTTP authentication whereby the caller embeds the username and password in the HTTP request headers of every call, making the process completely stateless.
Note that there is a potential problem with using authentication tokens in
REST. Although session tokens are not set to expire, it is possible for
users to explicitly purge all their authenticated sessions on the Crucible
logout page. Doing that will also delete the sessions of any REST client
that runs under that user's username. This will cause Crucible to treat
further invocations with the deleted session token as anonymous (and will
not result in an error). This in turn will restrict access to anonymous
content only.
This issue is tracked under: CRUC-1452.
parameter | value | description |
---|---|---|
userName |
the username. |
|
password |
the password. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<loginResult>
<token>evzijst:3319:bb51658323e4927ca7669e9b439bfe21</token>
</loginResult>
Result of a successful login.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<loginResult>
<error>authentication failed</error>
</loginResult>
Result of an unsuccessful login.
Get all reviews as a list of ReviewData
structures. Note
that this may return a lot of data, so using
/reviews-v1/filter/<filter>
is usually better.
The state parameter is a comma separated list of state names from the
set Draft
, Approval
, Review
,
Summarize
, Closed
, Dead
,
Rejected
, Unknown
.
parameter | value | description |
---|---|---|
state |
only return reviews that are in these states. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviews>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
</reviews>
A list of reviews, without any details such as comments or review items.
Create a review from the given createReview element.
The sub-elements of the createReview element determine what type of review is created and how it is populated. The following rules govern which sub-elemnts can be present and how they are used in the review creation process
The reponse includes the Location
header that contains the URL of the newly created entity.
acceptable request representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<createReview>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
<patch>Index: emptytests/notempty/a.txt
===================================================================
diff -u -N -r1.31 -r1.32
--- emptytests/notempty/a.txt 22 Sep 2004 00:38:15 -0000 1.31
+++ emptytests/notempty/a.txt 5 Dec 2004 01:04:25 -0000 1.32
@@ -4,4 +4,5 @@
hello there :D
CRU-123
http://madbean.com/blog/
-!
\ No newline at end of file
+!
+foobie
\ No newline at end of file
Index: test/a.txt
===================================================================
diff -u -N -r1.31 -r1.32
--- test/a.txt 22 Sep 2004 00:38:15 -0000 1.31
+++ test/a.txt 5 Dec 2004 01:04:25 -0000 1.32
@@ -4,4 +4,5 @@
hello there :D
CRU-123
http://madbean.com/blog/
-!
\ No newline at end of file
+!
+foobie
\ No newline at end of file</patch>
<anchor>
<anchorPath>/</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>2</stripCount>
</anchor>
<changesets>
<changesetData>
<id>63452</id>
</changesetData>
<repository>REPO</repository>
</changesets>
</createReview>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<createReview>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
<patch>Index: emptytests/notempty/a.txt
===================================================================
diff -u -N -r1.31 -r1.32
--- emptytests/notempty/a.txt 22 Sep 2004 00:38:15 -0000 1.31
+++ emptytests/notempty/a.txt 5 Dec 2004 01:04:25 -0000 1.32
@@ -4,4 +4,5 @@
hello there :D
CRU-123
http://madbean.com/blog/
-!
\ No newline at end of file
+!
+foobie
\ No newline at end of file
Index: test/a.txt
===================================================================
diff -u -N -r1.31 -r1.32
--- test/a.txt 22 Sep 2004 00:38:15 -0000 1.31
+++ test/a.txt 5 Dec 2004 01:04:25 -0000 1.32
@@ -4,4 +4,5 @@
hello there :D
CRU-123
http://madbean.com/blog/
-!
\ No newline at end of file
+!
+foobie
\ No newline at end of file</patch>
<anchor>
<anchorPath>/</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>2</stripCount>
</anchor>
<changesets>
<changesetData>
<id>63452</id>
</changesetData>
<repository>REPO</repository>
</changesets>
</createReview>
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
A reviewData element with the permId attribute set to the id of the review which was just created.
parameter | value | description |
---|---|---|
id |
the review perma id |
|
cId |
the comment perma id |
Gets the given comment.
parameter | value | description |
---|---|---|
render |
Default: false |
true if the wiki text should be rendered into html, into the field <messageAsHtml>. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotFound</code>
<message>Requested resource not found.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotFoundException: Requested resource not found.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:27)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review does not exist
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<versionedLineCommentData>
<createDate>2011-02-08T17:04:13.658+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>*bold* message</message>
<messageAsHtml><p><b>bold</b> message</p></messageAsHtml>
<parentCommentId/>
<readStatus>READ</readStatus>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Veiligheidspet</displayName>
<userName>fred</userName>
</user>
<permaId/>
<reviewItemId>
<id>CRFX-1234</id>
</reviewItemId>
<fromLineRange>10</fromLineRange>
<toLineRange>20</toLineRange>
</versionedLineCommentData>
comment
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>PermaIdFormat</code>
<message>Malformed PermId.</message>
<stacktrace>com.cenqua.crucible.model.PermaIdFormatException: Malformed PermId.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:33)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review perma-id is not well-formed
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotPermitted</code>
<message>Access denied.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotPermittedException: Access denied.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:21)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if you are not permitted to view the review
Updates the comment given by the perma id to the new comment posted.
acceptable request representations:
Deletes the given comment.
parameter | value | description |
---|---|---|
id |
Adds a file to the review, optionally diff'ed to a second file.
In contrast to a patch, files can be either binary or text. Depending on the filetype, size and contents, Crucible may be able to display either parts, or the entire file in the review. It is possible to upload two versions of the file, in which case Crucible will display a diff and report that the file was modified. When only a single file is uploaded, Crucible treats the file as newly added.
This action returns the ReviewData document on success.
This resources uses multipart form-data to receive the file(s), character set indication and optional comments (it does not expect an XML document with embedded files, as that would require the client to first encode the files in Base64). Making a multipart form-data request can be done manually, but you will probably want to use a library.
During testing it is convenient to let your browser generate the requests using the test html form below:
<html> <head><title>Rest File Upload Test</title></head> <body> <form action="http://localhost:8060/rest-service/reviews-v1/CR-4/addFile" enctype="multipart/form-data" method="POST"> <table> <tr> <td>File (required):</td> <td><input name="file" type="file"/></td> </tr> <tr> <td>Diff to (optional):</td> <td><input name="diffFile" type="file"/></td> </tr> <tr> <td>Character Set (optional):</td> <td><input name="charset" type="text" value="UTF-8"/></td> </tr> <tr> <td>Comments (optional):</td> <td><input type="text" name="comments"/></td> </tr> <tr><td><input type="submit" value="Upload"/></td></tr> </table> </form> </body> </html>
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-7453</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.648+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-123/rawcontent/5622//project/trunk/pom.xml</fromContentUrl>
<fromPath>/project/trunk/pom.xml</fromPath>
<fromRevision>688</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-123/rawcontent/6009//project/trunk/pom.xml</toContentUrl>
<toPath>/project/trunk/pom.xml</toPath>
<toRevision>6881</toRevision>
</reviewItem>
The response is the reviewItemData structure describing the new item. Also, the Location response header is present and contains the PermId URL of the new item.
parameter | value | description |
---|---|---|
version |
a metrics version. |
Get comment metrics metadata for the specified metrics version.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<metrics>
<metricsData>
<configVersion>4</configVersion>
<defaultValue>
<name>Major</name>
<value xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">0</value>
</defaultValue>
<label>Rank</label>
<type>INTEGER</type>
<values>
<name>Major</name>
<value xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">0</value>
</values>
<values>
<name>Minor</name>
<value xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1</value>
</values>
</metricsData>
<metricsData>
<configVersion>4</configVersion>
<defaultValue>
<name>Inconsistent</name>
<value xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">3</value>
</defaultValue>
<label>Classification</label>
<type>INTEGER</type>
<values>
<name>Missing</name>
<value xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">0</value>
</values>
<values>
<name>Extra (superfluous)</name>
<value xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1</value>
</values>
<values>
<name>Ambiguous</name>
<value xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2</value>
</values>
<values>
<name>Inconsistent</name>
<value xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">3</value>
</values>
<values>
<name>Improvement desirable</name>
<value xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4</value>
</values>
<values>
<name>Not conforming to standards</name>
<value xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">5</value>
</values>
<values>
<name>Risk-Prone</name>
<value xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">6</value>
</values>
<values>
<name>Factually incorrect</name>
<value xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">7</value>
</values>
</metricsData>
</metrics>
A comment metrics configuration.
Returns Crucible version information.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<versionInfo>
<releaseNumber>2.5.0</releaseNumber>
<buildDate>2011-02-08</buildDate>
</versionInfo>
The product version.
Retrieves all reviews that are in one of the the specified states. For each review all details are included (review items + comments). The wiki rendered comments will be available via the <messageAsHtml> element
parameter | value | description |
---|---|---|
state |
the review states to match. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<detailedReviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
<actions>
<actionData>
<displayName>Abandon</displayName>
<name>action:abandonReview</name>
</actionData>
<actionData>
<displayName>Approve</displayName>
<name>action:approveReview</name>
</actionData>
<actionData>
<displayName>Comment</displayName>
<name>action:commentOnReview</name>
</actionData>
<actionData>
<displayName>Complete</displayName>
<name>action:completeReview</name>
</actionData>
<actionData>
<displayName>Edit Review Details</displayName>
<name>action:modifyReviewFiles</name>
</actionData>
</actions>
<generalComments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
</generalComments>
<reviewItems>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-110</id>
</permId>
<anchorData>
<anchorPath>trunk</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.653+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5732/dir109/a.txt</fromContentUrl>
<fromPath>dir109/a.txt</fromPath>
<fromRevision>110</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6511/patch-6954.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/5890/dir109/a.txt</toContentUrl>
<toPath>dir109/a.txt</toPath>
<toRevision>1101</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-111</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5735/dir110/d.txt</fromContentUrl>
<fromPath>dir110/d.txt</fromPath>
<fromRevision>111</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6724/patch-5122.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6725/dir110/d.txt</toContentUrl>
<toPath>dir110/d.txt</toPath>
<toRevision>1111</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-112</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5738/dir111/c.txt</fromContentUrl>
<fromPath>dir111/c.txt</fromPath>
<fromRevision>112</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/5921/patch-9493.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6123/dir111/c.txt</toContentUrl>
<toPath>dir111/c.txt</toPath>
<toRevision>1121</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-113</id>
</permId>
<anchorData>
<anchorPath>tags/tag1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5741/dir112/b.txt</fromContentUrl>
<fromPath>dir112/b.txt</fromPath>
<fromRevision>113</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6081/patch-3434.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6179/dir112/b.txt</toContentUrl>
<toPath>dir112/b.txt</toPath>
<toRevision>1131</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-114</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5743/dir113/d.txt</fromContentUrl>
<fromPath>dir113/d.txt</fromPath>
<fromRevision>114</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6503/dir113/d.txt</toContentUrl>
<toPath>dir113/d.txt</toPath>
<toRevision>1141</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-115</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5745/dir114/e.txt</fromContentUrl>
<fromPath>dir114/e.txt</fromPath>
<fromRevision>115</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6137/dir114/e.txt</toContentUrl>
<toPath>dir114/e.txt</toPath>
<toRevision>1151</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-116</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5747/dir115/f.txt</fromContentUrl>
<fromPath>dir115/f.txt</fromPath>
<fromRevision>116</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6601/dir115/f.txt</toContentUrl>
<toPath>dir115/f.txt</toPath>
<toRevision>1161</toRevision>
</reviewItem>
</reviewItems>
<transitions>
<transitionData>
<displayName>Summarize</displayName>
<name>action:summarizeReview</name>
</transitionData>
</transitions>
</detailedReviewData>
Reviews which are in a particular state. These reviews contains the details, such as the comments (and also the wiki rendered html), the review items and other information.
parameter | value | description |
---|---|---|
filter |
a predefined filter type. Available filter names are:
|
Get all the reviews which match the given filter, for the current user.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviews>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
</reviews>
The list of reviews that match the specified pre-defined filter. Does not contain the review details (such as comments, review items etc).
parameter | value | description |
---|---|---|
filter |
a predefined filter type. Available filter names are:
|
Gets a list of all the reviews that match the specified filter criteria.
For each review all details are included (review items + comments).
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<detailedReviews>
<detailedReviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
<actions>
<actionData>
<displayName>Abandon</displayName>
<name>action:abandonReview</name>
</actionData>
<actionData>
<displayName>Approve</displayName>
<name>action:approveReview</name>
</actionData>
<actionData>
<displayName>Comment</displayName>
<name>action:commentOnReview</name>
</actionData>
<actionData>
<displayName>Complete</displayName>
<name>action:completeReview</name>
</actionData>
<actionData>
<displayName>Edit Review Details</displayName>
<name>action:modifyReviewFiles</name>
</actionData>
</actions>
<generalComments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
</generalComments>
<reviewItems>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-110</id>
</permId>
<anchorData>
<anchorPath>trunk</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.653+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5732/dir109/a.txt</fromContentUrl>
<fromPath>dir109/a.txt</fromPath>
<fromRevision>110</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6511/patch-6954.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/5890/dir109/a.txt</toContentUrl>
<toPath>dir109/a.txt</toPath>
<toRevision>1101</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-111</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5735/dir110/d.txt</fromContentUrl>
<fromPath>dir110/d.txt</fromPath>
<fromRevision>111</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6724/patch-5122.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6725/dir110/d.txt</toContentUrl>
<toPath>dir110/d.txt</toPath>
<toRevision>1111</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-112</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5738/dir111/c.txt</fromContentUrl>
<fromPath>dir111/c.txt</fromPath>
<fromRevision>112</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/5921/patch-9493.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6123/dir111/c.txt</toContentUrl>
<toPath>dir111/c.txt</toPath>
<toRevision>1121</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-113</id>
</permId>
<anchorData>
<anchorPath>tags/tag1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5741/dir112/b.txt</fromContentUrl>
<fromPath>dir112/b.txt</fromPath>
<fromRevision>113</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6081/patch-3434.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6179/dir112/b.txt</toContentUrl>
<toPath>dir112/b.txt</toPath>
<toRevision>1131</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-114</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5743/dir113/d.txt</fromContentUrl>
<fromPath>dir113/d.txt</fromPath>
<fromRevision>114</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6503/dir113/d.txt</toContentUrl>
<toPath>dir113/d.txt</toPath>
<toRevision>1141</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-115</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5745/dir114/e.txt</fromContentUrl>
<fromPath>dir114/e.txt</fromPath>
<fromRevision>115</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6137/dir114/e.txt</toContentUrl>
<toPath>dir114/e.txt</toPath>
<toRevision>1151</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-116</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5747/dir115/f.txt</fromContentUrl>
<fromPath>dir115/f.txt</fromPath>
<fromRevision>116</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6601/dir115/f.txt</toContentUrl>
<toPath>dir115/f.txt</toPath>
<toRevision>1161</toRevision>
</reviewItem>
</reviewItems>
<transitions>
<transitionData>
<displayName>Summarize</displayName>
<name>action:summarizeReview</name>
</transitionData>
</transitions>
</detailedReviewData>
</detailedReviews>
The detailed list of reviews that match the specified pre-defined filter, with the details of the review, such as comments (and its wiki rendered html), and review items.
Returns all reviews that satisfy the specified filter parameters and are accessible under the provided credentials.
To ignore a property, omit it from the query string.parameter | value | description |
---|---|---|
title |
a string that will be searched for in review titles. |
|
author |
reviews authored by this user. |
|
moderator |
reviews moderated by this user. |
|
creator |
reviews created by this user. |
|
states |
comma-separated list of amy of the following strings: (Draft, Approval, Review, Summarize, Closed, Dead, Rejected, Unknown). |
|
reviewer |
reviews reviewed by this user. |
|
orRoles |
whether the value of |
|
complete |
reviews that the specified reviewer has completed. |
|
allReviewersComplete |
Reviews that all reviewers have completed. |
|
project |
reviews for the specified project. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviews>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
</reviews>
A set of reviews that matches the filter. Does not contain the review's details.
This method should no longer be used, as it uses a POST for a read-only retrieval operation and is provided for backward compatibility only.
Do a GET instead.
acceptable request representations:
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviews>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
</reviews>
The list of reviews that match the filter criteria.
Returns all (detailed) information of all reviews that satisfy the specified filter parameters and are accessible under the provided credentials.
To ignore a property, omit it from the query string.parameter | value | description |
---|---|---|
title |
a string that will be searched for in review titles. |
|
author |
reviews authored by this user. |
|
moderator |
reviews moderated by this user. |
|
creator |
reviews created by this user. |
|
states |
comma-separated list of amy of the following strings: (Draft, Approval, Review, Summarize, Closed, Dead, Rejected, Unknown). |
|
reviewer |
reviews reviewed by this user. |
|
orRoles |
whether the value of |
|
complete |
reviews that the specified reviewer has completed. |
|
allReviewersComplete |
Reviews that all reviewers have completed. |
|
project |
reviews for the specified project. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<detailedReviews>
<detailedReviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
<actions>
<actionData>
<displayName>Abandon</displayName>
<name>action:abandonReview</name>
</actionData>
<actionData>
<displayName>Approve</displayName>
<name>action:approveReview</name>
</actionData>
<actionData>
<displayName>Comment</displayName>
<name>action:commentOnReview</name>
</actionData>
<actionData>
<displayName>Complete</displayName>
<name>action:completeReview</name>
</actionData>
<actionData>
<displayName>Edit Review Details</displayName>
<name>action:modifyReviewFiles</name>
</actionData>
</actions>
<generalComments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
</generalComments>
<reviewItems>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-110</id>
</permId>
<anchorData>
<anchorPath>trunk</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.653+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5732/dir109/a.txt</fromContentUrl>
<fromPath>dir109/a.txt</fromPath>
<fromRevision>110</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6511/patch-6954.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/5890/dir109/a.txt</toContentUrl>
<toPath>dir109/a.txt</toPath>
<toRevision>1101</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-111</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5735/dir110/d.txt</fromContentUrl>
<fromPath>dir110/d.txt</fromPath>
<fromRevision>111</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6724/patch-5122.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6725/dir110/d.txt</toContentUrl>
<toPath>dir110/d.txt</toPath>
<toRevision>1111</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-112</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5738/dir111/c.txt</fromContentUrl>
<fromPath>dir111/c.txt</fromPath>
<fromRevision>112</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/5921/patch-9493.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6123/dir111/c.txt</toContentUrl>
<toPath>dir111/c.txt</toPath>
<toRevision>1121</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-113</id>
</permId>
<anchorData>
<anchorPath>tags/tag1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5741/dir112/b.txt</fromContentUrl>
<fromPath>dir112/b.txt</fromPath>
<fromRevision>113</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6081/patch-3434.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6179/dir112/b.txt</toContentUrl>
<toPath>dir112/b.txt</toPath>
<toRevision>1131</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-114</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5743/dir113/d.txt</fromContentUrl>
<fromPath>dir113/d.txt</fromPath>
<fromRevision>114</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6503/dir113/d.txt</toContentUrl>
<toPath>dir113/d.txt</toPath>
<toRevision>1141</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-115</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5745/dir114/e.txt</fromContentUrl>
<fromPath>dir114/e.txt</fromPath>
<fromRevision>115</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6137/dir114/e.txt</toContentUrl>
<toPath>dir114/e.txt</toPath>
<toRevision>1151</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-116</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5747/dir115/f.txt</fromContentUrl>
<fromPath>dir115/f.txt</fromPath>
<fromRevision>116</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6601/dir115/f.txt</toContentUrl>
<toPath>dir115/f.txt</toPath>
<toRevision>1161</toRevision>
</reviewItem>
</reviewItems>
<transitions>
<transitionData>
<displayName>Summarize</displayName>
<name>action:summarizeReview</name>
</transitionData>
</transitions>
</detailedReviewData>
</detailedReviews>
The detailed list of reviews that match the filter criteria, with the details of the review, such as comments (and its wiki rendered html), and review items.
This method should no longer be used, as it uses a POST for a read-only retrieval operation and is provided for backward compatibility only.
Do a GET instead.
acceptable request representations:
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<detailedReviews>
<detailedReviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
<actions>
<actionData>
<displayName>Abandon</displayName>
<name>action:abandonReview</name>
</actionData>
<actionData>
<displayName>Approve</displayName>
<name>action:approveReview</name>
</actionData>
<actionData>
<displayName>Comment</displayName>
<name>action:commentOnReview</name>
</actionData>
<actionData>
<displayName>Complete</displayName>
<name>action:completeReview</name>
</actionData>
<actionData>
<displayName>Edit Review Details</displayName>
<name>action:modifyReviewFiles</name>
</actionData>
</actions>
<generalComments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
</generalComments>
<reviewItems>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-110</id>
</permId>
<anchorData>
<anchorPath>trunk</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.653+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5732/dir109/a.txt</fromContentUrl>
<fromPath>dir109/a.txt</fromPath>
<fromRevision>110</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6511/patch-6954.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/5890/dir109/a.txt</toContentUrl>
<toPath>dir109/a.txt</toPath>
<toRevision>1101</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-111</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5735/dir110/d.txt</fromContentUrl>
<fromPath>dir110/d.txt</fromPath>
<fromRevision>111</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6724/patch-5122.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6725/dir110/d.txt</toContentUrl>
<toPath>dir110/d.txt</toPath>
<toRevision>1111</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-112</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5738/dir111/c.txt</fromContentUrl>
<fromPath>dir111/c.txt</fromPath>
<fromRevision>112</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/5921/patch-9493.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6123/dir111/c.txt</toContentUrl>
<toPath>dir111/c.txt</toPath>
<toRevision>1121</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-113</id>
</permId>
<anchorData>
<anchorPath>tags/tag1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5741/dir112/b.txt</fromContentUrl>
<fromPath>dir112/b.txt</fromPath>
<fromRevision>113</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6081/patch-3434.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6179/dir112/b.txt</toContentUrl>
<toPath>dir112/b.txt</toPath>
<toRevision>1131</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-114</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5743/dir113/d.txt</fromContentUrl>
<fromPath>dir113/d.txt</fromPath>
<fromRevision>114</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6503/dir113/d.txt</toContentUrl>
<toPath>dir113/d.txt</toPath>
<toRevision>1141</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-115</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5745/dir114/e.txt</fromContentUrl>
<fromPath>dir114/e.txt</fromPath>
<fromRevision>115</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6137/dir114/e.txt</toContentUrl>
<toPath>dir114/e.txt</toPath>
<toRevision>1151</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-116</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5747/dir115/f.txt</fromContentUrl>
<fromPath>dir115/f.txt</fromPath>
<fromRevision>116</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6601/dir115/f.txt</toContentUrl>
<toPath>dir115/f.txt</toPath>
<toRevision>1161</toRevision>
</reviewItem>
</reviewItems>
<transitions>
<transitionData>
<displayName>Summarize</displayName>
<name>action:summarizeReview</name>
</transitionData>
</transitions>
</detailedReviewData>
</detailedReviews>
The detailed list of reviews that match the filter criteria.
parameter | value | description |
---|---|---|
repository |
path to find in reviews |
Return a list of Reviews which include a particular file.
The path parameter must be the full path name of a file in repository, with no leading slash.
parameter | value | description |
---|---|---|
path |
reposiotry to search for file |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviews>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
</reviews>
The list of reviews containing the specified file. Does not contain the review details.
parameter | value | description |
---|---|---|
repository |
path to find in reviews. |
Return a list of Reviews which include a particular file.
The path parameter must be the full path name of a file in repository, with no leading slash.
For each review all details are included (review items + comments).
parameter | value | description |
---|---|---|
path |
repository to search for file. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<detailedReviews>
<detailedReviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
<actions>
<actionData>
<displayName>Abandon</displayName>
<name>action:abandonReview</name>
</actionData>
<actionData>
<displayName>Approve</displayName>
<name>action:approveReview</name>
</actionData>
<actionData>
<displayName>Comment</displayName>
<name>action:commentOnReview</name>
</actionData>
<actionData>
<displayName>Complete</displayName>
<name>action:completeReview</name>
</actionData>
<actionData>
<displayName>Edit Review Details</displayName>
<name>action:modifyReviewFiles</name>
</actionData>
</actions>
<generalComments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
</generalComments>
<reviewItems>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-110</id>
</permId>
<anchorData>
<anchorPath>trunk</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.653+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5732/dir109/a.txt</fromContentUrl>
<fromPath>dir109/a.txt</fromPath>
<fromRevision>110</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6511/patch-6954.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/5890/dir109/a.txt</toContentUrl>
<toPath>dir109/a.txt</toPath>
<toRevision>1101</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-111</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5735/dir110/d.txt</fromContentUrl>
<fromPath>dir110/d.txt</fromPath>
<fromRevision>111</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6724/patch-5122.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6725/dir110/d.txt</toContentUrl>
<toPath>dir110/d.txt</toPath>
<toRevision>1111</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-112</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5738/dir111/c.txt</fromContentUrl>
<fromPath>dir111/c.txt</fromPath>
<fromRevision>112</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/5921/patch-9493.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6123/dir111/c.txt</toContentUrl>
<toPath>dir111/c.txt</toPath>
<toRevision>1121</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-113</id>
</permId>
<anchorData>
<anchorPath>tags/tag1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5741/dir112/b.txt</fromContentUrl>
<fromPath>dir112/b.txt</fromPath>
<fromRevision>113</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6081/patch-3434.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6179/dir112/b.txt</toContentUrl>
<toPath>dir112/b.txt</toPath>
<toRevision>1131</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-114</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5743/dir113/d.txt</fromContentUrl>
<fromPath>dir113/d.txt</fromPath>
<fromRevision>114</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6503/dir113/d.txt</toContentUrl>
<toPath>dir113/d.txt</toPath>
<toRevision>1141</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-115</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5745/dir114/e.txt</fromContentUrl>
<fromPath>dir114/e.txt</fromPath>
<fromRevision>115</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6137/dir114/e.txt</toContentUrl>
<toPath>dir114/e.txt</toPath>
<toRevision>1151</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-116</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5747/dir115/f.txt</fromContentUrl>
<fromPath>dir115/f.txt</fromPath>
<fromRevision>116</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6601/dir115/f.txt</toContentUrl>
<toPath>dir115/f.txt</toPath>
<toRevision>1161</toRevision>
</reviewItem>
</reviewItems>
<transitions>
<transitionData>
<displayName>Summarize</displayName>
<name>action:summarizeReview</name>
</transitionData>
</transitions>
</detailedReviewData>
</detailedReviews>
The detailed list of reviews containing the specified file, with the details of the review, such as comments (and its wiki rendered html), and review items.
parameter | value | description |
---|---|---|
id |
the permId of the review to delete (e.g. "CR-45"). |
Get a single review by its permId (e.g. "CR-45"). If the review does not exist, a 404 is returned.
The moderator element may not exist if the review does not have a Moderator.available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotFound</code>
<message>Requested resource not found.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotFoundException: Requested resource not found.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:27)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
If the review does not exist.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
A ReviewData instance containing the attributes of the review. Does not contain the details of the review.
Permanently deletes the specified review. The review must have been abandoned.
parameter | value | description |
---|---|---|
id |
the permId of the review (e.g. "CR-45"). |
Returns the specified review.
All details are included (review items + comments).
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<detailedReviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
<actions>
<actionData>
<displayName>Abandon</displayName>
<name>action:abandonReview</name>
</actionData>
<actionData>
<displayName>Approve</displayName>
<name>action:approveReview</name>
</actionData>
<actionData>
<displayName>Comment</displayName>
<name>action:commentOnReview</name>
</actionData>
<actionData>
<displayName>Complete</displayName>
<name>action:completeReview</name>
</actionData>
<actionData>
<displayName>Edit Review Details</displayName>
<name>action:modifyReviewFiles</name>
</actionData>
</actions>
<generalComments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
</generalComments>
<reviewItems>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-110</id>
</permId>
<anchorData>
<anchorPath>trunk</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.653+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5732/dir109/a.txt</fromContentUrl>
<fromPath>dir109/a.txt</fromPath>
<fromRevision>110</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6511/patch-6954.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/5890/dir109/a.txt</toContentUrl>
<toPath>dir109/a.txt</toPath>
<toRevision>1101</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-111</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5735/dir110/d.txt</fromContentUrl>
<fromPath>dir110/d.txt</fromPath>
<fromRevision>111</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6724/patch-5122.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6725/dir110/d.txt</toContentUrl>
<toPath>dir110/d.txt</toPath>
<toRevision>1111</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-112</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5738/dir111/c.txt</fromContentUrl>
<fromPath>dir111/c.txt</fromPath>
<fromRevision>112</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/5921/patch-9493.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6123/dir111/c.txt</toContentUrl>
<toPath>dir111/c.txt</toPath>
<toRevision>1121</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-113</id>
</permId>
<anchorData>
<anchorPath>tags/tag1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5741/dir112/b.txt</fromContentUrl>
<fromPath>dir112/b.txt</fromPath>
<fromRevision>113</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6081/patch-3434.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6179/dir112/b.txt</toContentUrl>
<toPath>dir112/b.txt</toPath>
<toRevision>1131</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-114</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5743/dir113/d.txt</fromContentUrl>
<fromPath>dir113/d.txt</fromPath>
<fromRevision>114</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6503/dir113/d.txt</toContentUrl>
<toPath>dir113/d.txt</toPath>
<toRevision>1141</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-115</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5745/dir114/e.txt</fromContentUrl>
<fromPath>dir114/e.txt</fromPath>
<fromRevision>115</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6137/dir114/e.txt</toContentUrl>
<toPath>dir114/e.txt</toPath>
<toRevision>1151</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-116</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5747/dir115/f.txt</fromContentUrl>
<fromPath>dir115/f.txt</fromPath>
<fromRevision>116</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6601/dir115/f.txt</toContentUrl>
<toPath>dir115/f.txt</toPath>
<toRevision>1161</toRevision>
</reviewItem>
</reviewItems>
<transitions>
<transitionData>
<displayName>Summarize</displayName>
<name>action:summarizeReview</name>
</transitionData>
</transitions>
</detailedReviewData>
A detailedReviewData element containing the attributes of the review, with the details of the review, such as comments (and its wiki rendered html), and review items.
parameter | value | description |
---|---|---|
id |
the permId of the a review (e.g. "CR-45"). |
Get a list of the actions which the current user is allowed to perform on the review.
This shows actions the user has permission to perform - the review may not be in a suitable state for all these actions to be performed.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<actions>
<actionData>
<displayName>Abandon</displayName>
<name>action:abandonReview</name>
</actionData>
<actionData>
<displayName>Approve</displayName>
<name>action:approveReview</name>
</actionData>
<actionData>
<displayName>Comment</displayName>
<name>action:commentOnReview</name>
</actionData>
<actionData>
<displayName>Complete</displayName>
<name>action:completeReview</name>
</actionData>
<actionData>
<displayName>Edit Review Details</displayName>
<name>action:modifyReviewFiles</name>
</actionData>
</actions>
The list of all actions in the review's workflow.
parameter | value | description |
---|---|---|
id |
the permId of the a review (e.g. "CR-45"). |
Get a list of the actions which the current user can perform on this review, given its current state and the user's permissions.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<transitions>
<transitionData>
<displayName>Summarize</displayName>
<name>action:summarizeReview</name>
</transitionData>
</transitions>
The list of the state transitions that are available in the review's current workflow state.
parameter | value | description |
---|---|---|
id |
parameter | value | description |
---|---|---|
id |
the perm id of the review to add the patch to |
Add the revisions in a patch to an existing review.
acceptable request representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addPatch>
<patch>Index: emptytests/notempty/a.txt
===================================================================
diff -u -N -r1.31 -r1.32
--- emptytests/notempty/a.txt 22 Sep 2004 00:38:15 -0000 1.31
+++ emptytests/notempty/a.txt 5 Dec 2004 01:04:25 -0000 1.32
@@ -4,4 +4,5 @@
hello there :D
CRU-123
http://madbean.com/blog/
-!
\ No newline at end of file
+!
+foobie
\ No newline at end of file
Index: test/a.txt
===================================================================
diff -u -N -r1.31 -r1.32
--- test/a.txt 22 Sep 2004 00:38:15 -0000 1.31
+++ test/a.txt 5 Dec 2004 01:04:25 -0000 1.32
@@ -4,4 +4,5 @@
hello there :D
CRU-123
http://madbean.com/blog/
-!
\ No newline at end of file
+!
+foobie
\ No newline at end of file</patch>
<anchor>
<anchorPath>/</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>2</stripCount>
</anchor>
</addPatch>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addPatch>
<patch>Index: emptytests/notempty/a.txt
===================================================================
diff -u -N -r1.31 -r1.32
--- emptytests/notempty/a.txt 22 Sep 2004 00:38:15 -0000 1.31
+++ emptytests/notempty/a.txt 5 Dec 2004 01:04:25 -0000 1.32
@@ -4,4 +4,5 @@
hello there :D
CRU-123
http://madbean.com/blog/
-!
\ No newline at end of file
+!
+foobie
\ No newline at end of file
Index: test/a.txt
===================================================================
diff -u -N -r1.31 -r1.32
--- test/a.txt 22 Sep 2004 00:38:15 -0000 1.31
+++ test/a.txt 5 Dec 2004 01:04:25 -0000 1.32
@@ -4,4 +4,5 @@
hello there :D
CRU-123
http://madbean.com/blog/
-!
\ No newline at end of file
+!
+foobie
\ No newline at end of file</patch>
<anchor>
<anchorPath>/</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>2</stripCount>
</anchor>
</addPatch>
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-7453</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.648+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-123/rawcontent/5622//project/trunk/pom.xml</fromContentUrl>
<fromPath>/project/trunk/pom.xml</fromPath>
<fromRevision>688</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-123/rawcontent/6009//project/trunk/pom.xml</toContentUrl>
<toPath>/project/trunk/pom.xml</toPath>
<toRevision>6881</toRevision>
</reviewItem>
The response is the reviewItemData structure describing the new item. Also, the Location response header is present and contains the PermId URL of the new item.
parameter | value | description |
---|---|---|
id |
parameter | value | description |
---|---|---|
id |
the id of the review to add to |
Get a list of reviewers in the review given by the permaid id.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewers>
<reviewer>
<avatarUrl>http://gravatar.com/url/2</avatarUrl>
<displayName>display name of user2</displayName>
<userName>user2</userName>
<completed>true</completed>
</reviewer>
<reviewer>
<avatarUrl>http://gravatar.com/url/1</avatarUrl>
<displayName>display name of user1</displayName>
<userName>user1</userName>
<completed>false</completed>
</reviewer>
<reviewer>
<avatarUrl>http://gravatar.com/url/4</avatarUrl>
<displayName>display name of user4</displayName>
<userName>user4</userName>
<completed>true</completed>
</reviewer>
<reviewer>
<avatarUrl>http://gravatar.com/url/3</avatarUrl>
<displayName>display name of user3</displayName>
<userName>user3</userName>
<completed>false</completed>
</reviewer>
</reviewers>
A list of reviewers and whether they've completed the review or now.
parameter | value | description |
---|---|---|
id |
the review perma id to retrieve reviewers |
Gets a list of completed reviewers.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewers>
<reviewer>
<avatarUrl>http://gravatar.com/url/2</avatarUrl>
<displayName>display name of user2</displayName>
<userName>user2</userName>
<completed>true</completed>
</reviewer>
<reviewer>
<avatarUrl>http://gravatar.com/url/1</avatarUrl>
<displayName>display name of user1</displayName>
<userName>user1</userName>
<completed>true</completed>
</reviewer>
<reviewer>
<avatarUrl>http://gravatar.com/url/4</avatarUrl>
<displayName>display name of user4</displayName>
<userName>user4</userName>
<completed>true</completed>
</reviewer>
<reviewer>
<avatarUrl>http://gravatar.com/url/3</avatarUrl>
<displayName>display name of user3</displayName>
<userName>user3</userName>
<completed>true</completed>
</reviewer>
</reviewers>
A list of reviewers that have completed the review.
parameter | value | description |
---|---|---|
id |
the review perma id to retrieve reviewers |
Gets a list of reviewers that have not completed the review.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewers>
<reviewer>
<avatarUrl>http://gravatar.com/url/2</avatarUrl>
<displayName>display name of user2</displayName>
<userName>user2</userName>
<completed>false</completed>
</reviewer>
<reviewer>
<avatarUrl>http://gravatar.com/url/1</avatarUrl>
<displayName>display name of user1</displayName>
<userName>user1</userName>
<completed>false</completed>
</reviewer>
<reviewer>
<avatarUrl>http://gravatar.com/url/4</avatarUrl>
<displayName>display name of user4</displayName>
<userName>user4</userName>
<completed>false</completed>
</reviewer>
<reviewer>
<avatarUrl>http://gravatar.com/url/3</avatarUrl>
<displayName>display name of user3</displayName>
<userName>user3</userName>
<completed>false</completed>
</reviewer>
</reviewers>
A list of reviewers that have not completed the review.
parameter | value | description |
---|---|---|
id |
the perma id of the review |
|
username |
the name of the reviewer. |
Removes the reviewer from the review.
parameter | value | description |
---|---|---|
id |
the id of the review (e.g. "CR-362"). |
Returns a list of all the items in a review.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewItems>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-7453</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.648+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-123/rawcontent/5622//project/trunk/pom.xml</fromContentUrl>
<fromPath>/project/trunk/pom.xml</fromPath>
<fromRevision>688</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-123/rawcontent/6009//project/trunk/pom.xml</toContentUrl>
<toPath>/project/trunk/pom.xml</toPath>
<toRevision>6881</toRevision>
</reviewItem>
</reviewItems>
A list of all the items in the review.
Add the changes between two files in a fisheye repository to the review.
This call includes the Location
repsonse header that
contains the URL of the newly created entity.
acceptable request representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewItem>
<participants/>
<permId/>
<revisions size="0"/>
<fromPath>/project/trunk/pom.xml</fromPath>
<fromRevision>688</fromRevision>
<repositoryName>REPO</repositoryName>
<toPath>/project/trunk/pom.xml</toPath>
<toRevision>689</toRevision>
</reviewItem>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewItem>
<participants/>
<permId/>
<revisions size="0"/>
<fromPath>/project/trunk/pom.xml</fromPath>
<fromRevision>688</fromRevision>
<repositoryName>REPO</repositoryName>
<toPath>/project/trunk/pom.xml</toPath>
<toRevision>689</toRevision>
</reviewItem>
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-7453</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.648+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-123/rawcontent/5622//project/trunk/pom.xml</fromContentUrl>
<fromPath>/project/trunk/pom.xml</fromPath>
<fromRevision>688</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-123/rawcontent/6009//project/trunk/pom.xml</toContentUrl>
<toPath>/project/trunk/pom.xml</toPath>
<toRevision>6881</toRevision>
</reviewItem>
A reviewItem element containing details of the diff added to the review.
parameter | value | description |
---|---|---|
id |
the id of the review (e.g. "CR-362"). |
Adds a review item for each of the supplied crucibleRevisionData elements.
Provide a list of crucibleRevisionData elements, each one containing the desired shape of the review item. If a crucibleRevisionData element contains a path that already exists (i.e., an existing review item with the same path is in the review), then the crucibleRevisionData element given here will merge the revisions with the existing review item revisions instead of creating a new review item.
acceptable request representations:
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<detailedReviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
<actions>
<actionData>
<displayName>Abandon</displayName>
<name>action:abandonReview</name>
</actionData>
<actionData>
<displayName>Approve</displayName>
<name>action:approveReview</name>
</actionData>
<actionData>
<displayName>Comment</displayName>
<name>action:commentOnReview</name>
</actionData>
<actionData>
<displayName>Complete</displayName>
<name>action:completeReview</name>
</actionData>
<actionData>
<displayName>Edit Review Details</displayName>
<name>action:modifyReviewFiles</name>
</actionData>
</actions>
<generalComments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
</generalComments>
<reviewItems>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-110</id>
</permId>
<anchorData>
<anchorPath>trunk</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.653+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5732/dir109/a.txt</fromContentUrl>
<fromPath>dir109/a.txt</fromPath>
<fromRevision>110</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6511/patch-6954.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/5890/dir109/a.txt</toContentUrl>
<toPath>dir109/a.txt</toPath>
<toRevision>1101</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-111</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5735/dir110/d.txt</fromContentUrl>
<fromPath>dir110/d.txt</fromPath>
<fromRevision>111</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6724/patch-5122.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6725/dir110/d.txt</toContentUrl>
<toPath>dir110/d.txt</toPath>
<toRevision>1111</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-112</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5738/dir111/c.txt</fromContentUrl>
<fromPath>dir111/c.txt</fromPath>
<fromRevision>112</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/5921/patch-9493.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6123/dir111/c.txt</toContentUrl>
<toPath>dir111/c.txt</toPath>
<toRevision>1121</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-113</id>
</permId>
<anchorData>
<anchorPath>tags/tag1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5741/dir112/b.txt</fromContentUrl>
<fromPath>dir112/b.txt</fromPath>
<fromRevision>113</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6081/patch-3434.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6179/dir112/b.txt</toContentUrl>
<toPath>dir112/b.txt</toPath>
<toRevision>1131</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-114</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5743/dir113/d.txt</fromContentUrl>
<fromPath>dir113/d.txt</fromPath>
<fromRevision>114</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6503/dir113/d.txt</toContentUrl>
<toPath>dir113/d.txt</toPath>
<toRevision>1141</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-115</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5745/dir114/e.txt</fromContentUrl>
<fromPath>dir114/e.txt</fromPath>
<fromRevision>115</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6137/dir114/e.txt</toContentUrl>
<toPath>dir114/e.txt</toPath>
<toRevision>1151</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-116</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5747/dir115/f.txt</fromContentUrl>
<fromPath>dir115/f.txt</fromPath>
<fromRevision>116</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6601/dir115/f.txt</toContentUrl>
<toPath>dir115/f.txt</toPath>
<toRevision>1161</toRevision>
</reviewItem>
</reviewItems>
<transitions>
<transitionData>
<displayName>Summarize</displayName>
<name>action:summarizeReview</name>
</transitionData>
</transitions>
</detailedReviewData>
A detailedReviewData element object with the added crucibleRevisionData elements.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotPermitted</code>
<message>Access denied.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotPermittedException: Access denied.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:21)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
If the caller does not have permission to modify the review.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>IllegalArgument</code>
<message>Invalid input.</message>
<stacktrace>java.lang.IllegalArgumentException: Invalid input.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:39)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
If the repository does not exist for one or more of the given crucibleRevisionData elements, or if one or more of the paths does not exist in the repository specified in the crucibleRevisionData elements, or if a revision specified in the crucibleRevisionData elements does not exist.
parameter | value | description |
---|---|---|
id |
the id of the review (e.g. "CR-362"). |
Adds the given review item to the review. This will always create a new review item, even if there is an existing one with the same data in the review (in which case the existing item will be replaced).
The response includes the Location
HTTP header.
acceptable request representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-7453</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.648+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-123/rawcontent/5622//project/trunk/pom.xml</fromContentUrl>
<fromPath>/project/trunk/pom.xml</fromPath>
<fromRevision>688</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-123/rawcontent/6009//project/trunk/pom.xml</toContentUrl>
<toPath>/project/trunk/pom.xml</toPath>
<toRevision>6881</toRevision>
</reviewItem>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-7453</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.648+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-123/rawcontent/5622//project/trunk/pom.xml</fromContentUrl>
<fromPath>/project/trunk/pom.xml</fromPath>
<fromRevision>688</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-123/rawcontent/6009//project/trunk/pom.xml</toContentUrl>
<toPath>/project/trunk/pom.xml</toPath>
<toRevision>6881</toRevision>
</reviewItem>
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-7453</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.648+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-123/rawcontent/5622//project/trunk/pom.xml</fromContentUrl>
<fromPath>/project/trunk/pom.xml</fromPath>
<fromRevision>688</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-123/rawcontent/6009//project/trunk/pom.xml</toContentUrl>
<toPath>/project/trunk/pom.xml</toPath>
<toRevision>6881</toRevision>
</reviewItem>
The added review item with the permId set.
parameter | value | description |
---|---|---|
id |
a valid review id (e.g. "CR-345"). |
|
riId |
a valid review item id (e.g. "CFR-5622"). |
Sets the review item specified by itemId with the given reviewItem. The old review item is discarded. Can only perform this operation if the old review item specified by itemId can be deleted. The old review item's permId is not changed.
acceptable request representations:
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-7453</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.648+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-123/rawcontent/5622//project/trunk/pom.xml</fromContentUrl>
<fromPath>/project/trunk/pom.xml</fromPath>
<fromRevision>688</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-123/rawcontent/6009//project/trunk/pom.xml</toContentUrl>
<toPath>/project/trunk/pom.xml</toPath>
<toRevision>6881</toRevision>
</reviewItem>
The newly created review item, with its itemId set to the new ID.
parameter | value | description |
---|---|---|
id |
the PermId of the review to remove the item from (e.g. "CR-345"). |
|
riId |
the id of the review item from which to remove the list of revisions (e.g. "CFR-5622"). |
Adds the given list of revisions to the supplied review item, merging if required. For example, if the review
item for a.txt
contains revisions 3 to 6, and if:
a.txt
will have revisions 3--4--5--6
a.txt
will have revisions 2--3--6--7
a.txt
will have revisions 2--3--6
a.txt
will have revisions 3--6--7
a.txt
will have revisions 2--3--4--6
a.txt
will have revisions 3--4--6--7
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-7453</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.648+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-123/rawcontent/5622//project/trunk/pom.xml</fromContentUrl>
<fromPath>/project/trunk/pom.xml</fromPath>
<fromRevision>688</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-123/rawcontent/6009//project/trunk/pom.xml</toContentUrl>
<toPath>/project/trunk/pom.xml</toPath>
<toRevision>6881</toRevision>
</reviewItem>
The review item with the added list of revisions.
Removes the revisions given from the review item in the review specified by the id. If the review item has no more revisions left, it is automatically deleted.
parameter | value | description |
---|---|---|
id |
review id (e.g. "CR-345"). |
|
riId |
review item id (e.g. "CFR-6312"). |
Removes an item from a review.
Returns detailed information for a specific review item.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-7453</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.648+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-123/rawcontent/5622//project/trunk/pom.xml</fromContentUrl>
<fromPath>/project/trunk/pom.xml</fromPath>
<fromRevision>688</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-123/rawcontent/6009//project/trunk/pom.xml</toContentUrl>
<toPath>/project/trunk/pom.xml</toPath>
<toRevision>6881</toRevision>
</reviewItem>
A single item from a review.
parameter | value | description |
---|---|---|
id |
the review perma-id |
Return all the comments visible to the requesting user for the review.
parameter | value | description |
---|---|---|
render |
Default: false |
indicate whether to render the wiki text in the returned comments. If set to "true", the comments will contain a <messageAsHtml> element containing the wiki rendered html. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotFound</code>
<message>Requested resource not found.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotFoundException: Requested resource not found.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:27)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review does not exist
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<comments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
<versionedLineCommentData>
<createDate>2011-02-08T17:04:13.658+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>*bold* message</message>
<messageAsHtml><p><b>bold</b> message</p></messageAsHtml>
<parentCommentId/>
<readStatus>READ</readStatus>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Veiligheidspet</displayName>
<userName>fred</userName>
</user>
<permaId/>
<reviewItemId>
<id>CRFX-1234</id>
</reviewItemId>
<fromLineRange>10</fromLineRange>
<toLineRange>20</toLineRange>
</versionedLineCommentData>
<versionedLineCommentData>
<createDate>2011-02-08T17:04:13.658+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>*bold* message</message>
<messageAsHtml><p><b>bold</b> message</p></messageAsHtml>
<parentCommentId/>
<readStatus>READ</readStatus>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Veiligheidspet</displayName>
<userName>fred</userName>
</user>
<permaId/>
<reviewItemId>
<id>CRFX-1234</id>
</reviewItemId>
<fromLineRange>10</fromLineRange>
<toLineRange>20</toLineRange>
</versionedLineCommentData>
</comments>
the comments visible to the requesting user
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>PermaIdFormat</code>
<message>Malformed PermId.</message>
<stacktrace>com.cenqua.crucible.model.PermaIdFormatException: Malformed PermId.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:33)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review perma-id is not well-formed
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotPermitted</code>
<message>Access denied.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotPermittedException: Access denied.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:21)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if you are not permitted to view the review
Add a general comment to the review.
acceptable request representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<generalCommentData>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>true</draft>
<message>I thought you said you were going to remove this line?</message>
<parentCommentId/>
<permId/>
<permaId/>
</generalCommentData>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<generalCommentData>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>true</draft>
<message>I thought you said you were going to remove this line?</message>
<parentCommentId/>
<permId/>
<permaId/>
</generalCommentData>
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotFound</code>
<message>Requested resource not found.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotFoundException: Requested resource not found.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:27)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review does not exist
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
the newly created comment, with its URI in the Location
header
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>IllegalState</code>
<message>The review must be open to perform the requested action.</message>
<stacktrace>java.lang.IllegalStateException: The review must be open to perform the requested action.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:45)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
reviewId
is not a well-formed review perma-id, or
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotPermitted</code>
<message>Access denied.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotPermittedException: Access denied.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:21)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if you are not permitted to comment on the review
parameter | value | description |
---|---|---|
id |
review perma-id |
parameter | value | description |
---|---|---|
render |
Default: false |
indicate whether to render the wiki text in the returned comments. If set to "true", the comments will contain a <messageAsHtml> element containing the wiki rendered html. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotFound</code>
<message>Requested resource not found.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotFoundException: Requested resource not found.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:27)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review does not exist
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<comments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
</comments>
the comments visible to the requesting user
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>PermaIdFormat</code>
<message>Malformed PermId.</message>
<stacktrace>com.cenqua.crucible.model.PermaIdFormatException: Malformed PermId.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:33)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review perma-id is not well-formed
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotPermitted</code>
<message>Access denied.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotPermittedException: Access denied.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:21)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if you are not permitted to view the review
parameter | value | description |
---|---|---|
id |
the review perma id |
|
riId |
the review item id. |
parameter | value | description |
---|---|---|
render |
Default: false |
indicate whether to render the wiki text in the returned comments. If set to "true", the comments will contain a <messageAsHtml> element containing the wiki rendered html. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotFound</code>
<message>Requested resource not found.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotFoundException: Requested resource not found.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:27)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review does not exist
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<comments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
</comments>
the comments visible to the requesting user
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>PermaIdFormat</code>
<message>Malformed PermId.</message>
<stacktrace>com.cenqua.crucible.model.PermaIdFormatException: Malformed PermId.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:33)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review perma-id is not well-formed
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotPermitted</code>
<message>Access denied.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotPermittedException: Access denied.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:21)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if you are not permitted to view the review
This call includes the Location
repsonse header that contains the URL of the newly created entity.
acceptable request representations:
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<versionedLineCommentData>
<createDate>2011-02-08T17:04:13.658+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>*bold* message</message>
<messageAsHtml><p><b>bold</b> message</p></messageAsHtml>
<parentCommentId/>
<readStatus>READ</readStatus>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Veiligheidspet</displayName>
<userName>fred</userName>
</user>
<permaId/>
<reviewItemId>
<id>CRFX-1234</id>
</reviewItemId>
<fromLineRange>10</fromLineRange>
<toLineRange>20</toLineRange>
</versionedLineCommentData>
the returned comment
parameter | value | description |
---|---|---|
id |
review perma-id |
parameter | value | description |
---|---|---|
render |
Default: false |
indicate whether to render the wiki text in the returned comments. If set to "true", the comments will contain a <messageAsHtml> element containing the wiki rendered html. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotFound</code>
<message>Requested resource not found.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotFoundException: Requested resource not found.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:27)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review does not exist
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<comments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
</comments>
the comments visible to the requesting user
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>PermaIdFormat</code>
<message>Malformed PermId.</message>
<stacktrace>com.cenqua.crucible.model.PermaIdFormatException: Malformed PermId.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:33)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review perma-id is not well-formed
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotPermitted</code>
<message>Access denied.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotPermittedException: Access denied.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:21)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if you are not permitted to view the review
parameter | value | description |
---|---|---|
id |
the review perma-id (e.g. "CR-45"). |
|
cId |
the comment to reply to |
Gets the replies to the given comment.
parameter | value | description |
---|---|---|
render |
Default: false |
true if the comments should also be rendered into html, into the element <messageAsHtml> |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotFound</code>
<message>Requested resource not found.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotFoundException: Requested resource not found.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:27)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review does not exist
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<comments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
</comments>
the comments visible to the requesting user
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>PermaIdFormat</code>
<message>Malformed PermId.</message>
<stacktrace>com.cenqua.crucible.model.PermaIdFormatException: Malformed PermId.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:33)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the review perma-id is not well-formed
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotPermitted</code>
<message>Access denied.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotPermittedException: Access denied.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:21)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if you are not permitted to view the review
Adds a reply to the given comment. This call includes the Location
repsonse header that
contains the URL of the newly created entity.
acceptable request representations:
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
the newly created comment, with its URI in the Location
header
parameter | value | description |
---|---|---|
id |
the review perma-id (e.g. "CR-45"). |
For the effective user, mark all comments in a review as read (except those marked as leave unread).
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<detailedReviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
<actions>
<actionData>
<displayName>Abandon</displayName>
<name>action:abandonReview</name>
</actionData>
<actionData>
<displayName>Approve</displayName>
<name>action:approveReview</name>
</actionData>
<actionData>
<displayName>Comment</displayName>
<name>action:commentOnReview</name>
</actionData>
<actionData>
<displayName>Complete</displayName>
<name>action:completeReview</name>
</actionData>
<actionData>
<displayName>Edit Review Details</displayName>
<name>action:modifyReviewFiles</name>
</actionData>
</actions>
<generalComments>
<generalCommentData>
<createDate>2011-02-08T17:04:13.604+1100</createDate>
<defectApproved>false</defectApproved>
<defectRaised>false</defectRaised>
<deleted>false</deleted>
<draft>false</draft>
<message>I thought you said you were going to *remove* this line?</message>
<messageAsHtml>I thought you said you were going to <b>remove</b> this line?</messageAsHtml>
<metrics/>
<parentCommentId/>
<readStatus>UNREAD</readStatus>
<replies/>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</user>
<permId>
<id>CR:1</id>
</permId>
<permaId>
<id>CR:1</id>
</permaId>
</generalCommentData>
</generalComments>
<reviewItems>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-110</id>
</permId>
<anchorData>
<anchorPath>trunk</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.653+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5732/dir109/a.txt</fromContentUrl>
<fromPath>dir109/a.txt</fromPath>
<fromRevision>110</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6511/patch-6954.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/5890/dir109/a.txt</toContentUrl>
<toPath>dir109/a.txt</toPath>
<toRevision>1101</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-111</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5735/dir110/d.txt</fromContentUrl>
<fromPath>dir110/d.txt</fromPath>
<fromRevision>111</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6724/patch-5122.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6725/dir110/d.txt</toContentUrl>
<toPath>dir110/d.txt</toPath>
<toRevision>1111</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-112</id>
</permId>
<anchorData>
<anchorPath>branches/branch1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5738/dir111/c.txt</fromContentUrl>
<fromPath>dir111/c.txt</fromPath>
<fromRevision>112</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/5921/patch-9493.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6123/dir111/c.txt</toContentUrl>
<toPath>dir111/c.txt</toPath>
<toRevision>1121</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-113</id>
</permId>
<anchorData>
<anchorPath>tags/tag1</anchorPath>
<anchorRepository>REPO</anchorRepository>
<stripCount>0</stripCount>
</anchorData>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5741/dir112/b.txt</fromContentUrl>
<fromPath>dir112/b.txt</fromPath>
<fromRevision>113</fromRevision>
<patchUrl>/contextcru/CR-FOO-21/downloadpatch/6081/patch-3434.patch</patchUrl>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6179/dir112/b.txt</toContentUrl>
<toPath>dir112/b.txt</toPath>
<toRevision>1131</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-114</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.654+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5743/dir113/d.txt</fromContentUrl>
<fromPath>dir113/d.txt</fromPath>
<fromRevision>114</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6503/dir113/d.txt</toContentUrl>
<toPath>dir113/d.txt</toPath>
<toRevision>1141</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-115</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5745/dir114/e.txt</fromContentUrl>
<fromPath>dir114/e.txt</fromPath>
<fromRevision>115</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>false</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6137/dir114/e.txt</toContentUrl>
<toPath>dir114/e.txt</toPath>
<toRevision>1151</toRevision>
</reviewItem>
<reviewItem>
<participants>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Fred Eaglesmith</displayName>
<userName>fred</userName>
</user>
<completed>true</completed>
</participant>
<participant>
<user>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Corb Lund</displayName>
<userName>clund</userName>
</user>
<completed>false</completed>
</participant>
</participants>
<permId>
<id>CFR-116</id>
</permId>
<authorName>evzijst</authorName>
<commitDate>2011-02-08T17:04:13.655+11:00</commitDate>
<commitType>Modified</commitType>
<fileType>File</fileType>
<fromContentUrl>/context/cru/CR-FOO-21/rawcontent/5747/dir115/f.txt</fromContentUrl>
<fromPath>dir115/f.txt</fromPath>
<fromRevision>116</fromRevision>
<repositoryName>REPO</repositoryName>
<showAsDiff>true</showAsDiff>
<toContentUrl>/context/cru/CR-FOO-21/rawcontent/6601/dir115/f.txt</toContentUrl>
<toPath>dir115/f.txt</toPath>
<toRevision>1161</toRevision>
</reviewItem>
</reviewItems>
<transitions>
<transitionData>
<displayName>Summarize</displayName>
<name>action:summarizeReview</name>
</transitionData>
</transitions>
</detailedReviewData>
The full, detailed review, reflecting the changes.
parameter | value | description |
---|---|---|
id |
the review perma id |
|
cId |
the comment perma id. |
parameter | value | description |
---|---|---|
id |
the review perma id for the comment |
|
cId |
the comment perma id |
parameter | value | description |
---|---|---|
id |
The review perma id |
|
cId |
the reply's parent comment perma id |
|
rId |
the perma id of the reply to delete |
parameter | value | description |
---|---|---|
id |
the review perma id to look for draft comments |
Publishes all the draft comments of the current user.
parameter | value | description |
---|---|---|
id |
the review perma id |
|
cId |
the comment perma id |
publishes the given draft comment.
parameter | value | description |
---|---|---|
id |
the review perma id |
Completes the review for the current user
parameter | value | description |
---|---|---|
id |
the review perma id |
Uncompletes the review for the current user.
parameter | value | description |
---|---|---|
id |
the review perma-id (e.g. "CR-45"). |
Change the state of a review by performing an action on it.
parameter | value | description |
---|---|---|
action |
the string representation of the action to perform. Valid actions are:
|
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
The review object containing the details of the review, including its new state.
parameter | value | description |
---|---|---|
id |
the review perma id to close. it should be in the open state. |
Closes the given review with the summary given.
acceptable request representations:
available response representations:
Get a list of all the users.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<users>
<userData>
<avatarUrl>http://foo.com/avatarfred</avatarUrl>
<displayName>Fred Nurk</displayName>
<userName>fred</userName>
</userData>
<userData>
<avatarUrl>http://foo.com/avatarjoe</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</userData>
</users>
a list of users
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotPermitted</code>
<message>Access denied.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotPermittedException: Access denied.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:21)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if you are not logged in or anonymous access is not allowed
parameter | value | description |
---|---|---|
username |
the name of the committer |
|
repository |
the name of the repository |
Returns the user details of the user mapped to a committer in a repository.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotFound</code>
<message>Requested resource not found.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotFoundException: Requested resource not found.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:27)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the committer does not exist
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<userData>
<avatarUrl>http://foo.com/avatarfred</avatarUrl>
<displayName>Fred Nurk</displayName>
<userName>fred</userName>
</userData>
user data for a for a user that is mapped to a committer in a FishEye repository
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotPermitted</code>
<message>Access denied.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotPermittedException: Access denied.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:21)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if you are not logged in or anonymous access is not allowed, or you are not allowed to access the repository
parameter | value | description |
---|---|---|
username |
the username of the user |
Returns the user's profile details.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotFound</code>
<message>Requested resource not found.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotFoundException: Requested resource not found.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:27)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
if the user does not exist
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<restUserProfileData>
<avatarUrl>/foo/avatar/j_doe</avatarUrl>
<email>joe@example.org</email>
<mappedCommitters>
<committers>
<committerName>jbloggs</committerName>
<repositoryName>svnrepo</repositoryName>
</committers>
<committers>
<committerName>joe</committerName>
<repositoryName>cvsrepo</repositoryName>
</committers>
<committers>
<committerName>jbloggs</committerName>
<repositoryName>cvsrepo</repositoryName>
</committers>
</mappedCommitters>
<preferences>
<elements value="100" key="maxFilesPerChangeset"/>
<elements value="UTF-8" key="uploadcharset"/>
<elements value="patch" key="uploadtype"/>
<elements value="3" key="context"/>
<elements value="true" key="enableIde"/>
<elements value="30" key="changesetsPerPage"/>
<elements value="4" key="tabWidth"/>
<elements value="51235" key="ideConnectorPort"/>
<elements value="file" key="uploadmethod"/>
<elements value="instant" key="watchMode"/>
<elements value="html" key="emailFormat"/>
</preferences>
<timeZone>
<name>Australia/Sydney</name>
<rawOffset>36000000</rawOffset>
</timeZone>
<userData>
<avatarUrl>http://foo.com/avatarjoe</avatarUrl>
<displayName>Joe Bloggs</displayName>
<userName>joe</userName>
</userData>
</restUserProfileData>
profile data for a crucible user
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotPermitted</code>
<message>Access denied.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotPermittedException: Access denied.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:21)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
when you are not permitted to view the user's profile, either because
Provides an API for searching reviews.
Search for reviews where the name, description, state or permaId contain the specified term.
parameter | value | description |
---|---|---|
term |
a search term. |
|
maxReturn |
the maximum number of reviews to return. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviews>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
</reviews>
The result of a review search action.
Get a list of all reviews that have been linked to the specified JIRA issue key.
parameter | value | description |
---|---|---|
jiraKey |
a Jira issue key (e.g. "FOO-3453") |
|
maxReturn |
the maximum number of reviews to return. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviews>
<reviewData>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</author>
<createDate>2011-02-08T17:04:13.596+1100</createDate>
<creator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Joe Krustofski</displayName>
<userName>joe</userName>
</creator>
<description>Description or statement of objectives for this example review.</description>
<dueDate>2011-02-09T17:04:13.596+1100</dueDate>
<jiraIssueKey>FOO-6754</jiraIssueKey>
<metricsVersion>4</metricsVersion>
<moderator>
<avatarUrl>http://foo.com/avatar</avatarUrl>
<displayName>Scott the Moderator</displayName>
<userName>scott</userName>
</moderator>
<name>Example review.</name>
<permaId>
<id>CR-FOO-21</id>
</permaId>
<projectKey>CR-FOO</projectKey>
<type>REVIEW</type>
</reviewData>
</reviews>
The result of a search action for reviews that are linked to a specific Jira issue.
Returns a description of all repositories. When running Crucible with FishEye, the result also includes the FishEye repositories.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<repositories>
<repoData>
<enabled>true</enabled>
<name>Foo Repository</name>
<type>svn</type>
</repoData>
<repoData>
<enabled>true</enabled>
<name>CSLite</name>
<type>plugin</type>
</repoData>
</repositories>
Listing of all FishEye and Crucible SCM repositories that are accessible to the caller of this resource.
parameter | value | description |
---|---|---|
revision |
the SCM revision string. |
|
repo |
name of the Crucible SCM plugin repository. |
|
path |
the path of a file. |
Returns the raw content of the specified file revision as a binary stream. No attempt is made to identify the content type and no mime type is provided.
available response representations:
The raw content of the specified file revision. Crucible currently does not provide a mime type.
parameter | value | description |
---|---|---|
repo |
name of the Crucible SCM plugin repository. |
|
path |
only show change sets which contain at least one revision with a path under this path. Changesets with some revisions outside this path still include all revisions. i.e. Revisions outside the path are *not* excluded from the change set. |
Represents a sorted list of changesets, newest first.
Note that when providing a path, use a trailing slash in the request url to indicate that it is a directory (use a "/" for the root directory of the repository). This may be necessary for some SCM plugins (including svn-light).
parameter | value | description |
---|---|---|
oldestCsid |
only return change sets after this change set. If omitted there is no restriction. |
|
includeOldest |
only return change sets before this change set. If omitted there is no restriction. |
|
newestCsid |
include the change set with id "to" in the change sets returned. |
|
includeNewest |
include the change set with id "from" in the change sets returned. |
|
max |
return only the newest change sets, to a maximum of maxChangesets. |
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<changes olderChangeSetsExist="false" newerChangeSetsExist="true">
<change author="joe" date="2011-02-08T17:04:16.238+11:00" csid="345">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/change/REPO/345"/>
<comment>Commit message</comment>
<revision revision="345" path="trunk/pom.xml">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/REPO/345/trunk/pom.xml"/>
<details/>
<diffRevision/>
<link rel="history" href="http://localhost:8060/crucible/rest-service/repositories-v1/history/REPO/345/trunk/pom.xml"/>
</revision>
<revision revision="345" path="trunk/pom.xml">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/REPO/345/trunk/pom.xml"/>
<details/>
<diffRevision/>
<link rel="history" href="http://localhost:8060/crucible/rest-service/repositories-v1/history/REPO/345/trunk/pom.xml"/>
</revision>
</change>
<change author="joe" date="2011-02-08T17:04:16.238+11:00" csid="234">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/change/REPO/234"/>
<comment>Commit message</comment>
<revision revision="234" path="trunk/pom.xml">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/REPO/234/trunk/pom.xml"/>
<details/>
<diffRevision/>
<link rel="history" href="http://localhost:8060/crucible/rest-service/repositories-v1/history/REPO/234/trunk/pom.xml"/>
</revision>
<revision revision="234" path="trunk/pom.xml">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/REPO/234/trunk/pom.xml"/>
<details/>
<diffRevision/>
<link rel="history" href="http://localhost:8060/crucible/rest-service/repositories-v1/history/REPO/234/trunk/pom.xml"/>
</revision>
</change>
</changes>
A collection of change sets. To expand
both <details> and <diffRevision> of the revision elements
inside the individual changesets, use: ?expand=change.revision.*
parameter | value | description |
---|---|---|
name |
name of a FishEye or Crucible SCM plugin repository. |
For backward compatibility we provide this method, but repositories should be referred to just by their name.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<svnRepositoryData>
<enabled>true</enabled>
<name>Foo Repository</name>
<type>svn</type>
<path>/foo</path>
<url>http://localhost/svn</url>
</svnRepositoryData>
Description of a Subversion repository provided by FishEye.
parameter | value | description |
---|---|---|
name |
name of the Crucible SCM plugin repository. |
Returns the details of the repository with the specified name. When the repository exists, but the user has no access to it (possibly because the user is not authenticated), a 401 is returned.
The supplied repository name can be either a Crucible SCM plugin repository, or a FishEye repository.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<svnRepositoryData>
<enabled>true</enabled>
<name>Foo Repository</name>
<type>svn</type>
<path>/foo</path>
<url>http://localhost/svn</url>
</svnRepositoryData>
Example of a repository element. Possible return documents include:
SvnRepositoryData
CvsRepositoryData
P4RepositoryData
GitRepositoryData
PluginRepositoryData
- represents Crucible SCM repositories provided by SCM plugins.Source: crucible.xsd
<xs:complexType name="repositoryData"> <xs:sequence> <xs:element name="enabled" type="xs:boolean"/> <xs:element name="name" type="xs:string" minOccurs="0"/> <xs:element name="type" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType>
parameter | value | description |
---|---|---|
repo |
name of the Crucible SCM plugin repository. |
|
path |
path to a directory. When path represents a file name, the result is unspecified. |
Lists the contents of the specified directory.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<listing path="trunk">
<dir path="trunk/src">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/browse/REPO/trunk/src"/>
</dir>
<dir path="trunk/test">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/browse/REPO/trunk/test"/>
</dir>
<file revision="1234" path="trunk/pom.xml">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/REPO/1234//trunk/pom.xml"/>
<details/>
<diffRevision/>
<link rel="history" href="http://localhost:8060/crucible/rest-service/repositories-v1/history/REPO/1234/trunk/pom.xml"/>
<link rel="content" href="http://localhost:8060/crucible/rest-service/repositories-v1/content/REPO/1234/trunk/pom.xml"/>
</file>
</listing>
Repository directory listing result containing files and directories.
Every item contains a <link self=""/> perma link. Following this for a file it will give you the details for that file (containing the same information as the <file/> element in this result document). Following the link on a directory will give you a new dir listing.
Other links:
MediaType.APPLICATION_OCTET_STREAM
.parameter | value | description |
---|---|---|
revision |
the SCM revision string. |
|
repo |
name of the Crucible SCM plugin repository. |
|
path |
the path of a file or versioned directory (note that versioned directories are not supported by all SCM plugins). |
Represents the details of a versioned entity (file or directory). This resource can be reached by following the file's self-link from a browse result.
Note that most responses support title expansion to minimize the costs of accessing the resources. Since file meta data is not always provided by SCM plugins, it is not expanded by default in the rest responses. Use title expansion to explicitly make Crucible include it.
The xml root element declares which elements are expandable (in this
response: details and diffRevision). To expand both, use:
?expand=details,diffRevision
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<file revision="1234" path="trunk/pom.xml">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/REPO/1234//trunk/pom.xml"/>
<details/>
<diffRevision/>
<link rel="history" href="http://localhost:8060/crucible/rest-service/repositories-v1/history/REPO/1234/trunk/pom.xml"/>
<link rel="content" href="http://localhost:8060/crucible/rest-service/repositories-v1/content/REPO/1234/trunk/pom.xml"/>
</file>
a versioned file.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<code>NotPermitted</code>
<message>Access denied.</message>
<stacktrace>com.atlassian.crucible.spi.services.NotPermittedException: Access denied.
at com.atlassian.crucible.spi.rpc.ExampleDocuments.<clinit>(ExampleDocuments.java:21)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918)
at java.lang.reflect.Field.getFieldAccessor(Field.java:899)
at java.lang.reflect.Field.get(Field.java:358)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedLinkFromTag(ResourceDoclet.java:516)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.getSerializedExample(ResourceDoclet.java:422)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.addResponseDoc(ResourceDoclet.java:334)
at com.sun.jersey.wadl.resourcedoc.ResourceDoclet.start(ResourceDoclet.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
at com.sun.tools.javadoc.Start.begin(Start.java:128)
at com.sun.tools.javadoc.Main.execute(Main.java:41)
at com.sun.tools.javadoc.Main.main(Main.java:31)
</stacktrace>
</error>
when the caller does not have permission to access this resource.
parameter | value | description |
---|---|---|
revision |
the SCM revision string. |
|
repo |
name of the Crucible SCM plugin repository. |
|
path |
the path of a file or versioned directory (note that versioned directories are not supported by all SCM plugins). |
Represents the history of a versioned entity.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<history path="trunk/pom.xml">
<revision revision="7" path="trunk/pom.xml">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/REPO/7/trunk/pom.xml"/>
<details/>
<diffRevision/>
<link rel="history" href="http://localhost:8060/crucible/rest-service/repositories-v1/history/REPO/7/trunk/pom.xml"/>
</revision>
<revision revision="4" path="trunk/pom.xml">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/REPO/4/trunk/pom.xml"/>
<details/>
<diffRevision/>
<link rel="history" href="http://localhost:8060/crucible/rest-service/repositories-v1/history/REPO/4/trunk/pom.xml"/>
</revision>
<revision revision="3" path="trunk/pom.xml">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/REPO/3/trunk/pom.xml"/>
<details/>
<diffRevision/>
<link rel="history" href="http://localhost:8060/crucible/rest-service/repositories-v1/history/REPO/3/trunk/pom.xml"/>
</revision>
</history>
Revision history for a versioned SCM entity.
Use title expansion if you want to force Crucible to populate each revision record with full meta data (expensive, as this is a 1-plus-n operation).
Since the expandable <details> and <diffRevision> elements
are burried more deeply in the xml hierarchy, use: ?expand=revision.details
.
Note that a history response does not distinguish between files and
directories. Instead, every record is a <revision>. This is
because the Crucible SCM api does not provide enough information to
tell the difference. Only when full meta data is provided (which a
plugin is not required to include in most operations) you can infer the
type by looking for the filetype
property.
parameter | value | description |
---|---|---|
revision |
the SCM revision string. |
|
repo |
name of the Crucible SCM plugin repository. |
Represents a particular changeset.
available response representations:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<change author="joe" date="2011-02-08T17:04:16.237+11:00" csid="345">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/change/REPO/345"/>
<comment>Commit message</comment>
<revision revision="345" path="trunk/pom.xml">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/REPO/345/trunk/pom.xml"/>
<details/>
<diffRevision/>
<link rel="history" href="http://localhost:8060/crucible/rest-service/repositories-v1/history/REPO/345/trunk/pom.xml"/>
</revision>
<revision revision="345" path="trunk/pom.xml">
<link rel="self" href="http://localhost:8060/crucible/rest-service/repositories-v1/REPO/345/trunk/pom.xml"/>
<details/>
<diffRevision/>
<link rel="history" href="http://localhost:8060/crucible/rest-service/repositories-v1/history/REPO/345/trunk/pom.xml"/>
</revision>
</change>
A single change set.
A change set describes the contents of a single commit on a Crucible SCM repository and includes changes to one or more files and or directories. Note that versioned directories are not supported by all SCM systems. For that reason the response does not distinguish between files and directories but instead, every record is a <revision>.
Use title expansion if you want to force Crucible to populate each revision record with full meta data (expensive, as this is a 1-plus-n operation).
Since the expandable <details> and <diffRevision> elements
are burried more deeply in the xml hierarchy, use: ?expand=revision.*
.