通过OSLC查询Jazz RTC工作项 [英] Querying Jazz RTC Work Items via OSLC

查看:232
本文介绍了通过OSLC查询Jazz RTC工作项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我使用以下请求知道票证编号,则能够获得工作项 https://example.com:8081/ccm/oslc/workitems/37702.json .我想查询RTC以获取gievn用户拥有的或基于标签的所有wrorkitem.

I am able to get workitem if I know the ticket id using following request https://example.com:8081/ccm/oslc/workitems/37702.json. I want to query RTC to get all wrorkitems owned by a gievn user or based on tags.

我正在使用以下查询来获取数据,但无法获取详细信息.

I am using the folllowing query to get data but unable to get the details.

根据工作项的所有者进行搜索 https://example.com:8081/ccm/oslc?oslc_cm. query = dc:owner = "abc@gmail.com"

Search based on owner of workitem https://example.com:8081/ccm/oslc?oslc_cm.query=dc:owner="abc@gmail.com"

根据标签进行搜索 https://example.com:8081/ccm/oslc?oslc_cm. query = dc:subject = "mc"

Search based on tags https://example.com:8081/ccm/oslc?oslc_cm.query=dc:subject="mc"

推荐答案

从爵士乐中获取数据的另一种方法是使用SPARQL.您可以通过查找jp06:query从根服务(GET h_ttps://jazzserver:9443/ccm/rootservices)中找到SPARQL端点.

Another way of getting data out of jazz is using SPARQL. You can find the SPARQL endpoint from the rootservices (GET h_ttps://jazzserver:9443/ccm/rootservices) by looking for jp06:query.

虽然我敢肯定可以手动构造SPARQL,但使用LQE作为数据源的6.0版新报表生成器要容易得多.转到format-> Advanced区域以查看生成的SPARQL,尽管这样做会丢失图形查询的构建,但您应该感到可以在此处进行编辑的冲动.只需单击几下即可创建SPARQL查询,该查询将返回Fred(使用其用户ID fred)创建的所有WI,例如:

While I'm sure it's possible to construct the SPARQL by hand, it is far easier to use the new-in-6.0 report builder, using LQE as the data source. Go to the format->Advanced area to see the generated SPARQL, and should you feel the urge you can edit there although you lose the graphical query building when you do that. It's a few clicks to create a SPARQL query which will return all the WIs created by Fred (using his user ID fred) like:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX oslc_config: <http://open-services.net/ns/config#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX oslc: <http://open-services.net/ns/core#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX oslc_cm: <http://open-services.net/ns/cm#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX process: <http://jazz.net/ns/process#>

SELECT DISTINCT 
    ?rtc_cm_WorkItem1_projectArea
    ?rtc_cm_WorkItem1_shortId
    ?rtc_cm_WorkItem1_title
    ?rtc_cm_WorkItem1
    ?rtc_cm_WorkItem1_creator
WHERE {
  VALUES ( ?rtc_cm_WorkItem1_creator_enumValue )
  {
    ( <https://jazzserver:9443/jts/users/fred> )
  }
  ?rtc_cm_WorkItem1_uri rdf:type oslc_cm:ChangeRequest.
  ?rtc_cm_WorkItem1_uri dcterms:creator ?rtc_cm_WorkItem1_creator_enumValue.
  OPTIONAL {?rtc_cm_WorkItem1_creator_enumValue foaf:name ?rtc_cm_WorkItem1_creator_enumName.}
  ?rtc_cm_WorkItem1_uri dcterms:title ?rtc_cm_WorkItem1_title.
  OPTIONAL {
    ?rtc_cm_WorkItem1_uri process:projectArea ?rtc_cm_WorkItem1_projectArea_enumValue.
    OPTIONAL {?rtc_cm_WorkItem1_projectArea_enumValue rdfs:label|dcterms:title ?rtc_cm_WorkItem1_projectArea_enumName.}
  }
  OPTIONAL {?rtc_cm_WorkItem1_uri oslc:shortId ?rtc_cm_WorkItem1_shortId.}
  OPTIONAL {?rtc_cm_WorkItem1_ver dcterms:isVersionOf ?rtc_cm_WorkItem1_uri; rdf:type oslc_config:VersionResource.}
  OPTIONAL {?rtc_cm_WorkItem1_uri process:projectArea ?rtc_cm_WorkItem1_paUri.}
  FILTER( !bound(?rtc_cm_WorkItem1_paUri) || NOT EXISTS{ ?rtc_cm_WorkItem1_paUri oslc:archived true. })
  BIND( IF (bound(?rtc_cm_WorkItem1_ver), concat(str(?rtc_cm_WorkItem1_uri), "?oslc_config.context="), ?rtc_cm_WorkItem1_uri) as ?rtc_cm_WorkItem1)
  BIND( COALESCE(?rtc_cm_WorkItem1_creator_enumName, ?rtc_cm_WorkItem1_creator_enumValue) as ?rtc_cm_WorkItem1_creator)
  BIND( COALESCE(?rtc_cm_WorkItem1_projectArea_enumName, ?rtc_cm_WorkItem1_projectArea_enumValue) as ?rtc_cm_WorkItem1_projectArea)
}

然后,要获取结果作为Atom提要,请使用参数query = YourSPARQL从h_ttps:/jazzserver:9443/ccm/query中进行GET,当然必须对其进行编码.

Then, to get the result as an Atom feed, do a GET from h_ttps:/jazzserver:9443/ccm/query with parameter query=YourSPARQL which must be encoded of course.

我确信手动构建此简单查询并不难,但是Report Builder使它变得微不足道,并且它了解元模型,因此有助于选择关系和属性名称-减少错误,因为您不必(错误)键入这些内容.您也可以发布/共享查询,并使用它们来填充仪表板:-)

I'm sure it's not to hard to build this simple query by hand, but Report Builder makes it trivial, and also it understands the metamodel so helps with selecting relationships and attribute names - less errors because you don't have to (mis)type these. Also you can publish/share the queries, and use them to populate dashboards :-)

希望这三种方法之一可以满足您的需求.

Hopefully one of these three methods will meet your needs.

这篇关于通过OSLC查询Jazz RTC工作项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆