It's all about the answers!

Ask a question

What is the URL to fetch components from RQM local stream?


Andrew Ciaz (473) | asked Nov 20, 9:12 a.m.

 Hi team,


I successfully fetched all the stream of QM project areas using below URL:

https://localhost:port/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/Unified Tracking System (Quality Management)/stream

But further I want to fetch all the components of particular stream. Could you please suggest any solution on this?

6 answers



permanent link
David Honey (361) | answered Nov 23, 5:35 a.m.
JAZZ DEVELOPER

Hi Andrew,

The RDF representation of a stream (or any configuration) should contain a oslc_config:component statement that gives the URI of the component of that configuration. You can find details of this in the draft OSLC Configuration Management specification at https://oslc-op.github.io/oslc-specs/specs/config/oslc-config-mgt.html.

Best regards,
David


permanent link
Andrew Ciaz (473) | answered Nov 23, 7:12 a.m.

 @David Honey thanks for your reply, I go through the link but I am not clear about how to fetch RQM streams using REST or OSLC, could you please provide the sample URL?


permanent link
David Honey (361) | answered Nov 23, 7:34 a.m.
JAZZ DEVELOPER

Perform a GET on the URI of an RQM stream using Accept=application/rdf+xml or Accept=text/turtle.
The response will be the RDF representation of that RQM stream.


Comments
Andrew Ciaz commented Nov 23, 7:38 a.m.

Hi David so I need to follow below steps in my automation:

1. Login to the RQM
2. Fetch all the project areas and streams

So I don't know the URI of the stream prior. I just want to fetch all the streams from the project areas
 


Andrew Ciaz commented Nov 25, 10:06 a.m.

@David Honey could you please help on the topic to fetch URI of configuration 


permanent link
David Honey (361) | answered Nov 25, 11:29 a.m.
JAZZ DEVELOPER
You will need to query for them. You can discover the OSLC Service Provider Catalog for configuration management from ETM's rootservices document (e.g. https://localhost:9443/qm/rootservices). Then use standard OSLC service discovery (see the OSLC Core specification linked to from https://open-services.net/specifications/) to discover the OSLC query capability for configurations. A GET on the query base of that query capability will allow you to query for ETM configurations. You can find more information about OSLC Query from the OSLC Query 3.0 specification linked to from https://open-services.net/specifications/.

Best regards,
David

permanent link
David Honey (361) | answered Nov 25, 11:34 a.m.
JAZZ DEVELOPER

The original question in the title of this post was "What is the URL to fetch components from RQM local stream?".
If you know the URI of that RQM local stream, you can just GET it. Each stream is a configuration of exactly one component. The RDF of that RQM local stream will have an oslc_config:component property that is the URI of its component. You can find more details about configurations and components in the draft OSLC Configuration Management specification.


Comments
Andrew Ciaz commented Nov 25, 11:02 p.m.

@David I already tried the OSLC approach to find the local streams using:

1. rootservices --> catlog --> services for project area 

but there is no query capability for configuration. Is that feature is not provided by QM? there are all other services but no service found for config, stream, component related 


permanent link
David Honey (361) | answered Nov 26, 6:22 a.m.
JAZZ DEVELOPER
I deployed an ELM 6.0.6.1. A GET on https://localhost:9443/qm/rootservices gave a response that included:

  <!-- Configuration Management service catalog -->
  <oslc_config:cmServiceProviders
          xmlns:oslc_config="http://open-services.net/ns/config#"
          rdf:resource="https://localhost:9443/qm/oslc_config/catalog"  />

Note that ETM declares multiple OSLC service provider catalogs in its rootservices. The one you want for configuration management uses oslc_config:cmServiceProviders .

A GET on the SPC at https://localhost:9443/qm/oslc_config/catalog with header Oslc-core-version=2.0 gave a response that included:

  <rdf:Description rdf:nodeID="A19">
    <oslc:resourceType rdf:resource="http://open-services.net/ns/config#Configuration"/>
    <oslc:queryBase rdf:resource="https://localhost:9443/qm/oslc_config/resources/com.ibm.team.vvc.Configuration"/>
    <oslc:resourceShape rdf:resource="https://localhost:9443/qm/oslc_config/resourceShapes/com.ibm.team.vvc.Configuration"/>
    <dcterms:title rdf:parseType="Literal">Default query capability for Configuration</dcterms:title>
    <rdf:type rdf:resource="http://open-services.net/ns/core#QueryCapability"/>
  </rdf:Description>
    

    
A GET on the query base (without any oslc.where) gave the RDF shown below. In my case, I had only create a single ETM project area and enabled it for configuration management. I had previously found that ETM did not support specifying process:projectArea in either the component query capability or configuration query capability, so it appears you cannot limit the query to a specific project area. See
188063: Support process:projectArea in oslc.where on component query capability. You can query for the configurations of a specified component.
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dcterms="http://purl.org/dc/terms/"
    xmlns:oslc="http://open-services.net/ns/core#"
    xmlns:prov="http://www.w3.org/ns/prov#"
    xmlns:oslc_config="http://open-services.net/ns/config#"
    xmlns:ldp="http://www.w3.org/ns/ldp#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:oslc_auto="http://open-services.net/ns/auto#"
    xmlns:acc="http://open-services.net/ns/core/acc#"
    xmlns:process="http://jazz.net/ns/process#" > 
  <rdf:Description rdf:about="https://localhost:9443/qm/oslc_config/resources/com.ibm.team.vvc.Configuration">
    <rdfs:member rdf:resource="https://localhost:9443/qm/oslc_config/resources/com.ibm.team.vvc.Configuration/_H-N8MC_PEeu-Q6TEfv0QIg"/>
    <oslc:totalCount>1</oslc:totalCount>
    <rdf:type rdf:resource="http://open-services.net/ns/core#ResponseInfo"/>
  </rdf:Description>
  <rdf:Description rdf:about="https://localhost:9443/qm/oslc_config/resources/com.ibm.team.vvc.Configuration/_H-N8MC_PEeu-Q6TEfv0QIg">
    <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2020-11-26T11:07:00.514Z</dcterms:created>
    <dcterms:title rdf:parseType="Literal">Test1 Initial Stream</dcterms:title>
    <rdf:type rdf:resource="http://open-services.net/ns/config#Configuration"/>
    <oslc_config:mutable rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</oslc_config:mutable>
    <oslc_config:component rdf:resource="https://localhost:9443/qm/oslc_config/resources/com.ibm.team.vvc.Component/_H-XtMC_PEeu-Q6TEfv0QIg"/>
    <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2020-11-26T11:07:00.514Z</dcterms:modified>
    <oslc:modifiedBy rdf:resource="https://localhost:9443/jts/users/david"/>
    <oslc:serviceProvider rdf:resource="https://localhost:9443/qm/oslc_config/serviceProviders/configuration"/>
    <rdf:type rdf:resource="http://open-services.net/ns/config#Stream"/>
    <dcterms:relation rdf:resource="https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/_Ha1iUC_PEeu-Q6TEfv0QIg/stream/_H-N8MC_PEeu-Q6TEfv0QIg"/>
    <oslc_config:acceptedBy rdf:resource="http://open-services.net/ns/config#Configuration"/>
    <process:projectArea rdf:resource="https://localhost:9443/qm/process/project-areas/_Ha1iUC_PEeu-Q6TEfv0QIg"/>
    <oslc_config:selections rdf:resource="https://localhost:9443/qm/oslc_config/resources/com.ibm.team.vvc.Configuration/_H-N8MC_PEeu-Q6TEfv0QIg/selections"/>
    <oslc:instanceShape rdf:resource="https://localhost:9443/qm/oslc_config/resourceShapes/stream"/>
    <oslc_config:baselines rdf:resource="https://localhost:9443/qm/oslc_config/resources/com.ibm.team.vvc.Configuration/_H-N8MC_PEeu-Q6TEfv0QIg/baselines"/>
    <dcterms:identifier>_H-N8MC_PEeu-Q6TEfv0QIg</dcterms:identifier>
    <acc:accessContext rdf:resource="https://localhost:9443/qm/acclist#_Ha1iUC_PEeu-Q6TEfv0QIg"/>
  </rdf:Description>
</rdf:RDF>
    


Best regards,
David

Your answer


Register or to post your answer.