It's all about the answers!

Ask a question

Updating a single tag in ETM using OSLC URI with HTTP Put shows changes in other attributes


Swathi sheshadri (135) | asked Jan 24 '23, 11:37 a.m.
Hi,

I am able to update ETM Test artifact data such as custom attribute of all the Test artifact and Test schedule for Test plan

1. Custom Attribute update
Query url : <serverURL>/service/com.ibm.rqm.integration.service.IIntegrationService/resources/<PAUUID>/testplan/urn:com.ibm.rqm:testplan:2053
HTTP PUT
Headers : context-type: application/rdf+xml
Tag : ns2:customAttributes
The response code is 200, but when i check the history , it shows there are other changes made in other section.
Other A web service POST/PUT event has triggered this state of the resource. Not all details can be determined.

2. Test Schedule of Test plan

Query url : <serverURI>/oslc_qm/contexts/<PAID>/resources/com.ibm.rqm.planning.VersionedTestPlan/_0v87sLUEaEeu4z6MCs9ft2Q
HTTP PUT
Headers : context-type: application/rdf+xml
Tag :  <process:iteration rdf:resource="<serverURI>/process/iterations/ITerationItermID" />

Under History i see below updated
Other A web service POST/PUT event has triggered this state of the resource. Not all details can be determined.
Other Created a link of type com.ibm.rqm.planning.linktype.referencedplan to <serverURL>/oslc_qm/contexts/<PAID>/resources/com.ibm.rqm.planning.VersionedTestPlan/ChildtestplanIDs
Other

This is a bit concerning since i had expected to only see the changes of one attribute instead it is affecting other attributes

One answer



permanent link
Ralph Schoon (63.1k33645) | answered Jan 25 '23, 2:52 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
edited Jan 25 '23, 2:53 a.m.

 I do not have a lot of experience with the ETM Reportable REST API. However, here is the documentation: https://jazz.net/wiki/bin/view/Main/RqmApi#HTTP_PUT_POST_Requests especially for PUT and POST. 


  1. The headers do support Content Type: application/xml and not context type: application/rdf+xml (Typo?) or Content Type:application/rdf+xml
  2. If you do a PUT, you usually do a GET first, modify the XML the ways you want and then do a PUT. You would get and provide an E-Tag. I do not know about the Reportable REST API, but usually you would not just sent addition of a tag only. All the data from the GET you do not send could be interpreted as a removal of that information. At least this is how the OSLC API works. So how did the request body for the PUT did look like really?
  3. The ETag is used to detect if the resource has changed in the repository and would allow to prevent conflicting changes to happen. This is only interesting for the TEM Reportable REST API, as all other applications Reportable REST APIs are read only. 


Your answer


Register or to post your answer.