It's all about the answers!

Ask a question

[closed] RQM OSLC Query or Rest API to get latest baselines from stream


jyoti mishra (45139) | asked Oct 12 '21, 11:19 a.m.
closed Mar 20 '23, 1:10 p.m. by David Honey (1.8k17)

 Hi All,


Is there any API to get the latest baseline based upon stream from RQM. If yes, please provide me that.
Thanks in advance.

I'll be looking forward for help. 
Jyoti


Comments
Geoffrey Clemm commented Oct 12 '21, 12:07 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

I understand what you mean by the latest baseline of a stream.   Why do you have in mind by "latest baseline based on Artifact ID"?   An Artifact does not have a "latest baseline" (an artifact can appear in multiple streams, and each stream could have a different "latest" version of that artifact ... the latest based purely on date stamp is not an interesting version, unless that artifact happens to only exist in a single stream).

The question has been closed for the following reason: "Other" by davidhoney Mar 20 '23, 1:10 p.m.

2 answers



permanent link
David Honey (1.8k17) | answered Oct 13 '21, 6:43 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

For any stream, its oslc_config:previousBaseline property should reference the latest baseline that was created from that stream. See Resource shape for Stream in OSLC Configuration Management 1.0.


permanent link
Ian Barnard (1.9k613) | answered Oct 13 '21, 5:43 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
edited Oct 13 '21, 11:14 a.m.

Hi Jyoti


I guess this is related to your similar question about finding configurations in DOORS Next https://jazz.net/forum/questions/277352/dng-oslc-query-or-rest-api-to-get-list-of-baselines-from-stream-or-artifact

The ETM (RQM) application, at least in 7.x (not sure about 6.x) provides OLSC Query capability for configurations. This isn't a project-specific query, and the project area is included in the results which you'll have to filter on.

To find this on the application level:

Use headers:
* Accept: application/rdf+xml
* OSLC-Core-Version: 2.0

1. GET /qm/rootservices

Find:

  <oslc_config:cmServiceProviders
          xmlns:oslc_config="http://open-services.net/ns/config#"
          rdf:resource="https://jazz.ibm.com:9443/qm/oslc_config/catalog"  />

2. GET (always use the URL from rootservices) https://jazz.ibm.com:9443/qm/oslc_config/catalog

Find the tag containing a rdf:type with attribute rdf:resource="http://open-services.net/ns/core#QueryCapability"

  <rdf:Description rdf:nodeID="A18">
    <oslc:resourceType rdf:resource="http://open-services.net/ns/config#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>

The OSLC Query base url in oslc:queryBase attribute rdf:resource. Always use the value retrieved, i.e. don't hardcode it.

A simple query on that capability - i.e. no oslc.where or oslc.select) will return all configurations with many properties - you probably want to filter for the project area, that should be oslc.where=process:projectArea=<yourprojectareauri> although I haven't tried it. I was able to get only baselines by using oslc.where=oslc_config:mutable="false"^^xsd:boolean (properly encoded, of course).

The query result without any oslc.select is like this (from 7.0.1) for a baseline (oslc_config:mutable is false):

    <oslc_config:acceptedBy rdf:resource="http://open-services.net/ns/config#Configuration"/>
    <dcterms:title rdf:parseType="Literal">SGC Agile 1.0 Release</dcterms:title>
    <oslc:modifiedBy rdf:resource="https://jazz.ibm.com:9443/jts/users/ibm"/>
    <dcterms:identifier>_XtGEwNd7EeqhD9rw3oe_og</dcterms:identifier>
    <rdf:type rdf:resource="http://open-services.net/ns/config#Baseline"/>
  </rdf:Description>

Here's an example of a stream from the query results (don't think this is related to above baseline) which has the oslc_config:previousBaseline that @david mentions.

    <dcterms:title rdf:parseType="Literal">SGC MTM 1.1 Release</dcterms:title>
    <oslc:modifiedBy rdf:resource="https://jazz.ibm.com:9443/jts/users/ibm"/>
    <rdf:type rdf:resource="http://open-services.net/ns/config#Baseline"/>
    <dcterms:identifier>_kqCcUdd7EeqhD9rw3oe_og</dcterms:identifier>
    <oslc_config:acceptedBy rdf:resource="http://open-services.net/ns/config#Configuration"/>
  </rdf:Description>

FYI the EWM app also provides component query capability.

HTH
Ian


Comments
Catalin Morcan commented Mar 20 '23, 9:16 a.m. | edited Mar 20 '23, 9:52 a.m.

 @Ian Barnard

Hello. Do you know what rights should the user have in order to access the query capability that gets configurations? This one more precisely.

I am hoping for a quick answer. Thank you,
Catalin


1
Ralph Schoon commented Mar 20 '23, 9:53 a.m. | edited Mar 20 '23, 10:07 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

Please ask your own question instead of writing a question in an answer to a question of someone else. Thanks.