Polarion从对象检索工作项

时间:2014-04-08 12:26:35

标签: workitem polarion

我正在尝试在Wiki页面上发布指向工作项的链接,但我的查询返回以下结果: PObject(WorkItem; subterra:data-service:objects:/default/chili_v2.2$ {WorkItem} WI-43)

这是我的代码:

#set ( $id = $wi.id)
#set ($query = "project.id:$page.getProject() AND type:process  AND backlinkedWorkItems:$id")

#set ($foundItems1 = $trackerService.queryWorkItems($query, null))

如何提取工作项ID并链接到项目?或者我如何更改查询以直接获得工作项的链接?

我真的很感激一些帮助。它看起来很简单,但我无法找到解决方案。

谢谢卢卡斯

2 个答案:

答案 0 :(得分:3)

您的$foundItems1变量中包含的是Java列表。由于您的查询仅基于id抓取一个工作项,因此它是一个包含一个对象的列表;具体来说,是一个Workitem对象。

根据Polarion Java SDK,工作项有.getId()方法。因此,要在维基上发布指向Workitem的链接,您可以遍历列表并使用{workitem}指令......如下所示:

#foreach($foundItem in $foundItems1)
    {workitem:$foundItem.getId()}
#end

答案 1 :(得分:0)

在Polarion中调试此类问题时,检查导致问题的对象类总是有用的。你可以这样轻松地做到这一点:

$foundItems1.class \\

它会给你

class com.polarion.platform.persistence.spi.PObjectList 

这是您可以在Polarion API文档中查找的内容。知道它是一个列表,将帮助您找到a_whit所示的解决方案。

一些更有用的检查可能是:

$foundItems1.size()
$foundItems1.get(0).class  ## (works only when size() > 0)
$foundItems1.get(0).getId()