It's all about the answers!

Ask a question

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

jyoti mishra (4518) | asked Oct 12 '21, 11:19 a.m.
edited Oct 13 '21, 1:02 a.m.

 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. 

Geoffrey Clemm commented Oct 12 '21, 12:07 p.m.

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

2 answers

permanent link
David Honey (7606) | answered Oct 13 '21, 6:43 a.m.

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.2k613) | answered Oct 13 '21, 5:43 a.m.
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

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


          rdf:resource=""  />

2. GET (always use the URL from rootservices)

Find the tag containing a rdf:type with attribute rdf:resource=""

  <rdf:Description rdf:nodeID="A18">
    <oslc:resourceType rdf:resource=""/>
    <dcterms:title rdf:parseType="Literal">Default query capability for Configuration</dcterms:title>
    <rdf:type rdf:resource=""/>

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 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 is like this (from 7.0.1) for a baseline (oslc_config:mutable is false):

    <oslc_config:acceptedBy rdf:resource=""/>
    <dcterms:title rdf:parseType="Literal">SGC Agile 1.0 Release</dcterms:title>
    <oslc:modifiedBy rdf:resource=""/>
    <rdf:type rdf:resource=""/>

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=""/>
    <rdf:type rdf:resource=""/>
    <oslc_config:acceptedBy rdf:resource=""/>

FYI the EWM app also provides component query capability.


Your answer

Register or to post your answer.