It's all about the answers!

Ask a question

How to update Automation Resources through OSLC in RQM 4?


Elliot Morrison-Reed (2059) | asked Nov 13 '13, 8:38 a.m.
edited Nov 15 '13, 1:18 a.m.
I am having a little bit of trouble understanding steps 23-26 in the Test Automation Adapter API Reference document:

https://jazz.net/wiki/bin/view/Main/RQMTestAutomationAdapterAPI
  1. Select rdf:about value from the rdf:Description element selected in previous step. The value is URL of the Automaton Request to be executed.
  2. Get Automation Request using the URL obtained in previous step
  3. Update (PUT) the Automation Request resource to let Rational Quality Manager know that Automation Request has been picked up by Automation adapter by setting following properties Set rqm_auto:taken to "true" Set rqm_auto:statusResponse with statusCode 200 and status message indicating that Adapter have taken the request sucessfully. In case adapter does find any issue with request at this point of time, it should rather report a error statusCode and corresponding status message. Optionally you can set rqm_auto:progress to some non zero value (it reflects percentage 0% to 100 %). The progress increase here is completely adapter's choice and adapter should choose it's own calculation to decide when to increase the progress and how. The goal should be it reflect true progress of overall automation execution.
  4. Update resource at the same Automation Request URL
This seems like it should be straight-forward, however I have a few questions.
  1. When I call the URI from rdf:about, I receive a JSON object.  The JSON object does not include properties for statusCode or statusResponse.  If I try to update the JSON object and send it with a PUT request. I receive a 415 error from the server.
  2. If I create a new XML+RDF document based on the Automation Resource definition listed above on the same page and send it with a PUT request I receive a 409: was not executed because a lifecycle operation error occurred. error from the server.
  3. If I do the same as 2 but send it using a POST request, I receive a 405: Client error response.

From the question linked here:

PUT Method is not working to Update the resources using OSLC Automation Adapter REST API 2.0 in RQM 4.0.1

I have found the following link:

Automation Service Provider HTTP method support

However, this table seems only to say whether a service "SHOULD" or "MAY" be supported. 

Questions:

  1. Is there any document which says if a service "IS" or "IS NOT" supported by RQM?
  2. Is one of the above approaches that I listed above correct, or is there some other way to approach this step?
  3. Is there some way to force an XML representation of the Automation Adapter resource on request? It seems strange that it would send a JSON and I must transform it to an XML document to respond.
Example GET and PUT objects would be greatly appreciated.
Regards,
Elliot

One answer



permanent link
Elliot Morrison-Reed (2059) | answered Nov 18 '13, 8:33 a.m.
I have found the answer to question 3:

For some reason the Automation Adapter and Automation Request single object are responding by default with JSON.  The object will be forced to return an RDF response by setting the correct 'Accept' header in the GET request.

See: https://jazz.net/wiki/bin/view/Main/ResourceOrientedWorkItemAPIv2#GetRepresentations

Comments
Elliot Morrison-Reed commented Nov 18 '13, 11:23 a.m.

For part 2, doing a PUT request with the value from an rdf+xml GET request works fine, so I will assume that it is the correct way to do it.

Still, If someone has an actual support matrix for RQM I would be I would be interested in seeing it.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.