Is it possible to update test script step results via OSLC QM API with requirement links in version 7.0.2?
I'm able to create test case results (executionresult) based on test cases assigned with test script (and its steps) via Reportable REST API. Some step properties (e.g. descripton, expected result, ...) are automatically taken over from the test script steps. Unfortunately not the requirement links assigned to a test script steps. On the other side, if I run a test case (with an assigned test script, steps and req. links) via GUI then the requirement links are automatically taken over.
I tried to update the execution result element via OSLC API with the missing requirement links (https://<host>/qm/oslc_qm/contexts/<project>/resources/com.ibm.rqm.execution.ExecutionElementResult/<uuid>) but unfortunately it does not work. Then I found the following ticket https://jazz.net/jazz02/web/projects/Rational%20Quality%20Manager#action=com.ibm.team.workitem.viewWorkItem&id=179279, where exactly this feature was requested but requirement link support is discarded - but planned for version 7.
|
8 answers
Be as clear and specific as you can when creating your support case. The initial support engineering you work with may not have any development skills or know the API, so give them the exact XML you are PUTting or POSTting to the server. Your goal is to make it as easy as possible for Support to reproduce the issue. Once they can reproduce the issue, they can escalate to Development. |
I am running into this exact same problem, I tried to create executionresults with requirements already in place in the xml but same thing where it just doesn't take it as input. I will follow this issue hope gets resolved very soon! |
Unfortunately, the RQM product team made a change: jazz.net users can no longer create defects against RQM.
Given that change, I recommend creating a case with IBM Support. I would report this issue as a potential defect in the OSLC API. Support doesn't help with code but they do handle API defects (I just reported one last week and an APAR has been created).
Comments
Ralph Geister
commented Sep 26 '23, 5:12 a.m.
Okay, thank you for the information. I'll try my luck with the support team |
Comments We have designed our own java toolbox to handle the REST APIs of DNG and RQM. Yes, we have been using this use case for quite some time. First, we create a test case object via Reportable REST API and do in a second step an update with requirement links with the OSLC API - it works well.
I would have expected to be able to update the Test Scripts Step Result with requirement links using exactly the same procedure.
|
Ralph Schoon (63.6k●3●36●47)
| answered Sep 21 '23, 7:51 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER edited Sep 21 '23, 7:52 a.m. Some remarks,
in ETM, both APIs OSLC and the Reportable REST API allow CRUD operations. You could try both APIs.
Links are some kind of collection. I know I have seen posts on Jazz.net with respect to delete links. If the link is the last link, this could be a special case. I remember there was a post that used the oslc.properties or something to make sure the last link was deleted.
Can you try to delete a link from an artifact that has two links?
Also see: https://jazz.net/forum/questions/228326/not-able-to-delete-a-validatedby-link-using-oslc-in-dng
You can google like this and there are various hits like the one above. I do not have the time to try that out for you.
Comments
Ralph Geister
commented Sep 21 '23, 8:23 a.m.
As you suggested, I tried deleting one requirement link from an ExecutionElementResult object that contains two req. links. Unfortunately that didn't work either. Your reference above refers to DNG, I think that cannot be compared to the behavior in RQM.
Ralph Schoon
commented Sep 21 '23, 8:32 a.m.
| edited Sep 21 '23, 8:43 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
A link between two applications might only be stored in one application. Even if the link shows in both XML's, it might have to be deleted in a specific application.
Ralph Geister
commented Sep 22 '23, 2:18 a.m.
My problem is not deleting requirement links. My main problem is that existing requirements links in a test script step definition are not included in the result when I use the Reportable REST API to generate test results. Unfortunately, when I try to add the missing links via the OSLC API, it doesn't work. I just want the links to appear in the test script step result as defined in the test script step. It also works when generating results via the GUI. I simply want the same behavior as with the GUI.
The GUI is likely using internal APIs to do what it does.
I can only point out pattern I have seen. I don't have experience with the ETM reportable REST API and do not have an answer to your question. |
I've tried to post the following content as defect:
Environment where the problem is reproduced
Build ID and/or link: I20220722_0910 OS: Windows Server DB vendor and version: n/a Browser vendor and browser version: n/a because using OSLC REST API Is this problem reproduced only on a CM enabled project area? n/a Problem Description: Update test script step results via OSLC QM API with requirement links (oslc_qm:validatesRequirement) does not work. Steps to reproduce: 1. use GET request via OSLC API to read an exsiting ExecutionElementResult object,
2. extend the XML data with a valid requirement link by using property oslc_qm:validatesRequirement,
3. send the extended XML data via PUT request to the server and I got an OK.
3. read the ExecutionElementResult object again.
Expected behavior: the ExecutionElementResult shall contain the added oslc_qm:validatesRequirement property, Actual behavior: No changes on ExecutionElementResult detected, so the oslc_qm:validatesRequirement isn't added to ExecutionElementResult object. Work around: No work around found for this issue. Some guidelines when creating a defect: - Add as many details as you can. - Attach any relevant files. Logs are always welcome, see: https://jazz.net/help-dev/clm/topic/com.ibm.rational.test.qm.doc/topics/c_rqm_logfiles_loc.html for more information. - Attach any relevant screen captures(required). Screen captures are an excellent way to help on describing your problem. |
My current status in version 7.0.2 is:
An update of a ExecutionElementResult object via OSLC API PUT request works without error response.
Properties like "rqm_qm:actualResult" can be updated. So far so good.
BUT oslc_qm:validatesRequirement properties cannot be added,changed or deleted by the PUT request.
Is there a ingenious trick to make the update work? I use a global configuration as a context.
My test use case is:
use GET request to read an exsiting ExecutionElementResult object,
extend the XML data with a valid requirement link by using property oslc_qm:validatesRequirement,
send the extended XML data via PUT request to the server and I got an OK.
read the ExecutionElementResult object again.
RESULT: However, the added property oslc_qm:validatesRequirement does not appear.
Comments I'm not aware of anything else required. I suggest you submit a defect against ETM. 180460: Story: Update test script step result using OSLC API for remaining properties for create and update operation indicates that should have been implemented in 7.0.
Ralph Geister
commented Sep 21 '23, 7:21 a.m.
I've no permission to add a defect ticket: Contact support - they should be able to do so for you.
|
David Honey (1.8k●1●7)
| answered Sep 20 '23, 5:40 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER edited Sep 20 '23, 5:41 a.m. It looks like the child story 180460: Story: Update test script step result using OSLC API for remaining properties for create and update operation says that it was complete in 7.0 and included the |
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.