Polarion извлекает рабочий элемент из PObject

Я пытаюсь опубликовать ссылку на рабочий элемент на странице вики, но мой запрос возвращает следующий результат: 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))

Как я могу извлечь идентификатор Workitem и ссылку на элемент? Или Как я могу изменить свой запрос, чтобы получить прямую ссылку на Workitem?

Я действительно был бы признателен за помощь. Это выглядит просто, но я не могу найти решение.

Спасибо Лукас

2 ответа

Решение

Что у вас есть в вашем $foundItems1 Переменная является списком Java. Так как ваш запрос захватывает только один Workitem на основе idэто список с одним объектом; в частности, объект Workitem.

Согласно Polarion Java SDK, рабочие элементы имеют .getId() метод. Таким образом, чтобы выложить ссылку на Workitem в вики, вы можете просмотреть список и использовать {workitem} директива... как то так:

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

При отладке проблем такого типа в 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()
Другие вопросы по тегам