Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

crucible restapi xml parsing fail

dhandu December 18, 2012

Hi I am trying to send a file through restapi which it has special characters (I am using git , I commiited the file and tried to send through restapi), I am using below rest call, but its not anchoring or not generating the review link if the file contains any special characters,

Please let me know hpw to fix this issue

$headers = {"Accept" =>'application/xml', "Content-Type" => 'application/xml', "Authorization" =>'Basic '};
my $responseContent = $client->POST('/rest-service/reviews-v1/?FEAUTH='.$token, $file, $headers);

Thanks

Dandu

3 answers

1 accepted

0 votes
Answer accepted
dhandu December 27, 2012

its working now, I've added ![CDATA , its working now, thanks

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<addPatch>
<patch><![CDATA[
patchdiff here..
]]>
</patch>
<anchor>
<anchorPath>/</anchorPath>
<anchorRepository>$repo</anchorRepository>
<stripCount>2</stripCount>
</anchor>
</addPatch>

0 votes
rverschoor
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 21, 2012

As you send the patch in XML format, some special characters must be encoded.
One page where these are described is http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML

If you are using an "&" (ampersand) in your patch, then you need to replace it with "&amp;" if you want to send it as XML.

0 votes
dhandu December 18, 2012

I am doing diff of my file which it contains special characters, If I am parsing this text into restapi format , it is not working, it doesn't accept the special characters.

patchcontent

DIFF IS diff --git x.txt x.txt
index dec2cbe..d0c7fbe 100644
--- x.txt
+++ x.txt
@@ -1,2 +1,4 @@
test
test
+test
+test
diff --git y.txt y.txt
index 8164a18..a58ee72 100644
--- y.txt
+++ y.txt
@@ -1,2 +1,3 @@
test;
&del
+&del

I used this restapi call

<addPatch>
<patch>
patchcontent
</patch>
<anchor>
<anchorPath>/</anchorPath>
<anchorRepository>reponame</anchorRepository>
<stripCount>2</stripCount>
</anchor>
</addPatch>

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events