EditAttachPrintable
Revision 2 - 2020-05-07 - 12:11:20 - NatarajanThirumeni

Must Gather to troubleshoot Broken Links in GC enabled Project Areas todo.png

Authors: TWikiUser, TWikiUser
Build basis: ELM (formally known CLM - Collaborative Life-cycle Management) v6.0.6.1 / 6.0.6

Introduction

In Global Configuration(GC) enabled project areas (Quality Management and Requirement management), a user reports a broken link. If a user broken link issue is reported, what kind of logs you'd have to collect to debug this issue. Please note, this document do not explain where links are stored or in details about LDX. This is a high level document to explain as to what kind of logs to be collected to investigate broken link issues in GC context. Although, most of the logs could be collected as a Jazz User but we'd suggest a Jazz administrator role is proffered.

Example use case

Troubleshooting broken links in GC enabled project area is complex and this document is to assist list what kind of logs needs to gathered out of broken configuration. The broken links could be classified in several ways, lets us consider following two use cases:

  • Creating a link from QM Test Case to DNG requirement is expected to establish a link between TC and requirement. In some cases, you'd see a link of TC on DNG requirement but not in Test Case or vice-versa.

  • Populating artifacts from a GC baseline into a GC stream. In GC baseline link between Test case and DNG requirement exist as expected, however GC stream created out that baseline contain a broken links.

Log Collections : Steps

1. Output of Contribution tree, copy outcome into a text file called GC-ID.txt

https://<server>:<port>/rm/gcsdk/tree?configurationUri=https://<server>:<port>/gc/configuration/<GC-ID>

     GC-ID : is a URL to where configuration exist e.g https://<server>:<port>/gc/configuration/4

2. Local configuration URI of QM. This can be obtained from the web UI of where GC Test case exist. Click on Current Configuration, hover over Local Configuration name and copy link

(e.g https://<server>:<port>/qm/oslc_config/resources/com.ibm.team.vvc.Configuration/<_1QceYBSuEequ-JEash4SxA>)

3. GC versioned Test Case URL. From test case, click on "Copy link for this page" and then select Copy OSLC URL.

e.g https://<server>:<port>/qm/oslc_qm/contexts/<_0VIssRSuEequ-JEash4SxA>/resources/com.ibm.rqm.planning.VersionedTestCase/<_Ggks8xSwEequ-JEash4SxA>/<_4dfh2xSxEequ-JEash4SxA>

<_Ggks8xSwEequ-JEash4SxA> : VersionedTestCase Item ID
<_4dfh2xSxEequ-JEash4SxA> : VersionedTestCase State ID

4. Local configuration URI of RM. This can be obtained from the web UI of where GC Requirement exist

e.g https://<server>:<port>/rm/cm/stream/<_xQvHkBSuEeqCl9XOGtTvzQ>

5. DNG Requirement link that was add to Test Case. From requirement use, pick up Share Link option and then copy a link

e.g https://<server>:<port>/rm/resources/<_-5ElgxSuEeqCl9XOGtTvzQ>

6. QM Test Case history PDF. From Test Case menu, go to History, click on Export History to save TC history.

7. TRS Feed. To download TRS, go to trsConsole. Its important can get the TRS feed as soon as problem is reported, the feed contain all the orders for past 7 days.

https://<server>:<port>/qm/trsConsole
Click on download, this should download a ZIP of the TRS2 feed (RQM Resources (TRS 2.0)) including all base page(s) and change log page(s)

8. LDX graph query output for Test Case. To run this query

Go to https://<server>:<port>/ldx/web/query#sparql. 
Select Configuration scope: to where TC is exist (eg gcStream1)

And then run following SPARQL query:

prefix dcterms: <http://purl.org/dc/terms/>
prefix oslc_config: <http://open-services.net/ns/config#>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT ?selected WHERE 

{ <https://<server>:<port>/qm/oslc_config/resources/com.ibm.team.vvc.Configuration/<uuid-lc-qm>/selections>; <http://open-services.net/ns/config#selects>; ?selected FILTER regex(str(?selected), "<uuid-gc-qm-itemID>")

} 

Note:
<uuid-lc-qm> : this is UUID of the local config, see step 2)
<uuid-gc-qm-itemID> : VersionedTestCase Item ID, see step 3)

9. In same LDX query page you'd need to run DNG resource SPARQL query against LDX, this query should be scoped to GC where the link exists (eg gcStream1) in LDX. It’s the query that DNG uses to fetch the links from LDX

prefix dcterms: <http://purl.org/dc/terms/>
prefix oslc_config: <http://open-services.net/ns/config#>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix owl: <http://www.w3.org/2002/07/owl#>
SELECT ?sURL ?linkType ?tURL ?indLinkType 
WHERE {
   {
      VALUES ?linkType {
         <http://jazz.net/xmlns/prod/jazz/calm/1.0/implementsRequirementCollection>
         <http://open-services.net/ns/qm#validatesRequirementCollection>
         <http://open-services.net/ns/qm#validatesRequirement>
         <http://open-services.net/ns/cm#implementsRequirement>
         <http://open-services.net/ns/cm#affectsRequirement>
         <http://open-services.net/ns/cm#tracksRequirement>
      }
      VALUES ?tURL {
         <RM resource URI>
      }
      {
         ?sURL ?linkType ?tURL.
         BIND( ?linkType as ?indLinkType ) .
      }
      UNION
      {
         ?indLinkType owl:sameAs ?linkType .
         ?sURL ?indLinkType ?tURL .
      }
   }
   OPTIONAL
   {
      ?reification rdf:subject ?sURL .
      ?reification rdf:predicate ?indLinkType .
      ?reification rdf:object ?tURL .
      ?reification ?property ?release .
      ?release oslc_config:configuration ?config
   }
}
ORDER BY ?tURL ?linkType ?sURL LIMIT 1000

<RM resource URI> - you'd need to substitute requirement URL (See step 5)

10. Finally, we'd verify if selections page contain if the state ID of the versioned test case, you can go to selection page

https://<server>:<port>/qm/oslc_config/resources/com.ibm.team.vvc.Configuration/<uuid-lc-qm>/selections
<uuid-lc-qm> : is UUID of the local configuration (see step 2)

Heading 1

Related topics: Deployment web home, Deployment web home

External links:

Additional contributors: TWikiUser, TWikiUser

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r16 | r4 < r3 < r2 < r1 | More topic actions...
This site is powered by the TWiki collaboration platformCopyright © by IBM and non-IBM contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use. Please read the following disclaimer.
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.