Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

[closed] How to update/modify multiple test cases in RQM using REST/OSLC?

 Hi team,


I know the REST is support bulk create/update test artifact in RQM. But while updating multiple test cases what should be the Url? 

The documentation is not describe this scenario. Please suggest the solution

1

1 vote

Comments

I'm writing here as I couldn't comment.

I'm facing a similar issue. I'm trying to update existing test cases, but POST request is creating new test cases instead of updating test cases.

I have tried the following formats for ID
  1. <id>123456<id>
  2. <id>https://<serverurl>/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/<project_slug_id>/testcase/<testcase_slug_id></id>
  3. <id>https://<serverurl>/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/<project_slug_id>/testcase//urn:com.ibm.rqm:testcase:12345</id>
  4. <id>https://<serverurl>/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/<project_name_encoded>/testcase/<testcase_slug_id></id>

All of them created new test cases.

When I tried PUT, getting 400 error resonse with error message 'javax.xml.bind.UnmarshalException: unexpected element (uri:"http://www.w3.org/2005/Atom", local:"feed")'

Please do not post new questions as answers to old questions that have already been answered. If you want to ask a question, please submit your own new question. I have converted your "answer" to a comment. But please resubmit as a new question. For questions on REST APIs, please include the following information in your question:
  • the request URI
  • the request headers
  • the request body (for PUT/POST)
  • the response headers
  • the response body
Thanks.


The question has been closed for the following reason: "The question is answered, right answer was accepted" by davidhoney Jun 26 '23, 4:05 a.m.

Accepted answer

Permanent link

Hi Andrew,


The url and method is correct. The problem is with your body xml. 

As the wiki stated that the body xml should be in format of 
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
      <entry>
           <id>resource ID</id>
           <content>
                 resource XML
           </content>
       </entry>
</feed>

Something similar to 

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<entry>       
<id>https://<server_url>/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/<project_name>/testcase/urn:com.ibm.rqm:testcase:2</id>
<content>
<ns19:testcase
xmlns:ns19="http://jazz.net/xmlns/alm/qm/v0.1/"
xmlns:ns3="http://purl.org/dc/elements/1.1/"
xmlns:ns21="http://www.w3.org/1999/XSL/Transform">
<ns3:title type="text">Test updated</ns3:title>
<ns19:weight>500</ns19:weight>
</ns19:testcase>
</content>
</entry>
<entry>
<id>https://<server_url>/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/<project_name>/testcase/urn:com.ibm.rqm:testcase:20</id>
<content>
<ns19:testcase
xmlns:ns19="http://jazz.net/xmlns/alm/qm/v0.1/"
xmlns:ns2="http://schema.ibm.com/vega/2008/"
xmlns:ns3="http://purl.org/dc/elements/1.1/"
xmlns:ns21="http://www.w3.org/1999/XSL/Transform">
<ns3:title type="text">Test updated 1</ns3:title>
<ns19:weight>1000</ns19:weight>
</ns19:testcase>
</content>
</entry>
</feed>
Add the proper xmlns for the tags you would like to update i.e. ns3 for updating creator under <ns3:creator>.
You should also add the proper headers. Please go through the wiki for more clarification.

Thanks,
Monika Rajput

Andrew Ciaz selected this answer as the correct answer

0 votes

Comments

@Monika thanks now the HTTP POST method work correctly but it creates new test cases. My requirement is update test cases in bulk. Is it possible using qm REST API? 

@Andrew, Please update the ID of each test case to the ID with your existing test case which you would like to update under <id> tag. 


Thanks

and where i should update this <id>  field in my xml or url?


2 other answers

Permanent link

  Hi user PUT method with URL: https://<serverUrl>/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE%20Banking%20(Quality%20Management)/testcase/


and below is the xml file:

<?xml version="1.0" encoding="UTF-8"?>
   <title type="text">testcase ATOM feed for project area JKE Banking (Quality Management)</title>
   <link href="https://d-9376:9443/qm/web/console/" rel="alternate" />
   <entry>
      <updated>2020-06-30T15:13:56.679Z</updated>
      <title type="text">Test - Donors Deposit Money Into a Pooled Assistance Fund</title>
      <summary type="text" />
   </entry>
</feed>

It returns 302 response code but test cases is not updated.

Please suggest if i miss something

0 votes


Permanent link

Hi Andrew,


The bulk upload is supported on POST requests only. Please see jazz.net wiki Bulk Upload for more information.

Thanks,
Monika Rajput

0 votes

Comments

Hi @Monika Rajput thanks for your reply when I changed my method to POST, now http response returning 400 code, with PUT it was 302

@Monika Rajput responcebody returns message "No feed entries in the bulk upload request" . could you please help me to understand the meaning m url is:

URL:- https://<serverurl>/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testcase

Method = POST


Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 10,938
× 7,495
× 1,700
× 1,325

Question asked: Dec 03 '20, 2:47 a.m.

Question was seen: 2,789 times

Last updated: Jun 26 '23, 5:01 a.m.

Confirmation Cancel Confirm