It's all about the answers!

Ask a question

Is it possible to update test script step results via OSLC QM API with requirement links in version 7.0.2?


0
1
Ralph Geister (134) | asked Sep 20 '23, 5:30 a.m.
edited Sep 20 '23, 5:40 a.m.
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



permanent link
Daniel Chirillo (315) | answered Sep 28 '23, 3:55 p.m.

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.


permanent link
Gabriel Pizzolato (11) | answered Sep 28 '23, 2:24 p.m.

 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!


Comments
Gabriel Pizzolato commented Dec 07 '23, 4:57 p.m.

 Any luck/response from the support team?


permanent link
Daniel Chirillo (315) | answered Sep 25 '23, 7:30 a.m.
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


permanent link
Daniel Chirillo (315) | answered Sep 22 '23, 10:53 p.m.
  1. To update OSLC links in RQM, you have to use the OSLC API.
    1. 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 
  2. 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
Ralph Geister commented Sep 25 '23, 6:40 a.m. | edited Sep 25 '23, 6:43 a.m.

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.


permanent link
Ralph Schoon (63.6k33647) | 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?


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.  
You need to understand where the link is stored (likely ETM as DNG tries to make the other apps responsible) and update the item where it is stored. It might be stored in the ETM and not the DNG item. Just my best guess from previous discussions. 


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.


Ralph Schoon commented Sep 22 '23, 4:25 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
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. 




permanent link
Ralph Geister (134) | answered Sep 21 '23, 7:24 a.m.
edited Sep 21 '23, 7:26 a.m.

 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.


permanent link
Ralph Geister (134) | answered Sep 21 '23, 6:46 a.m.
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
David Honey commented Sep 21 '23, 6:55 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

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:



David Honey commented Sep 21 '23, 8:29 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

Contact support - they should be able to do so for you.


permanent link
David Honey (1.8k17) | 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 oslc_qm:validatesRequirement link type. I have not tried it in 7.0.2.


Comments
Ralph Geister commented Sep 21 '23, 6:46 a.m.
My experience with 7.0.2, see below

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.