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.
Now, my question is: does version 7.0.2 support the update of requirement links in test script step of test case results?
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.
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 oslc_qm:validatesRequirement link type. I have not tried it in 7.0.2.
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'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,
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.
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.
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
- To update OSLC links in RQM, you have to use the OSLC API.
- Are you using Lyo to do OSLC development? If not, please do. It will make your life a lot easier: https://oslc.github.io/developing-oslc-applications/eclipse_lyo/eclipse-lyo.html
- Are you able to link a test case to a requirement? If you can, then you know your problem is script step specific. If you can't, then you have a more fundamental issue going on in how you are creating the links.
Comments
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).