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