Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

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?

1

0 votes



8 answers

Permanent link

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.

1 vote


Permanent link

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.

0 votes

Comments
My experience with 7.0.2, see below


Permanent link
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.

0 votes

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.

I've no permission to add a defect ticket:


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


Permanent link

 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.

0 votes


Permanent link

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. 

0 votes

Comments

 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.

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. 

 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. 




Permanent link
  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.

0 votes

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.


Permanent link
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).

0 votes

Comments

Okay, thank you for the information. I'll try my luck with the support team


Permanent link

 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!

0 votes

Comments

 Any luck/response from the support team?

Your answer

Register or log in 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.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 10,950
× 516
× 235

Question asked: Sep 20 '23, 5:30 a.m.

Question was seen: 2,750 times

Last updated: Dec 07 '23, 4:57 p.m.

Confirmation Cancel Confirm