3

如何从 RTC workItem 读取历史记录。我想在更改表单历史记录之前和之后检查一些属性更改及其值。通过爵士 API。怎么可能?请帮忙 。

4

2 回答 2

1

关于属性,您可以在“使用工作项属性”中查看更多信息

如果您将属性 ID 作为字符串提供,则可以使用此代码获取属性。

IWorkItemClient workItemClient = (IWorkItemClient) fTeamRepository.getClientLibrary(IWorkItemClient.class);
IAttribute someAttribute= workItemClient.findAttribute(fProjectArea, "some_attribute_ID", monitor);

对于历史,这个线程可以提供帮助

您可以使用它IItemManager.fetchCompleteState()来获取处于其历史状态的完整项目。
如果您想获取完整的历史记录,您还可以使用一次获取所有状态句柄,IItemManager.fetchAllStateHandles()而不是使用IAuditable.getPredecessorState().

于 2014-08-14T05:49:51.720 回答
0

使用以下代码段:

IWorkItem workItem = workItemClient.findWorkItemById(id, IWorkItem.FULL_PROFILE, monitor);

IItemManager itm = teamRepository.itemManager(); 
List history = itm.fetchAllStateHandles((IAuditableHandle) workItem.getStateHandle(), monitor);
System.out.println("Record history details:-");
for(int i = history.size() -1; i >= 0; i--){
    IAuditableHandle audit = (IAuditableHandle) history.get(i);
    IWorkItem workItemPrevious = (IWorkItem) teamRepository.itemManager().fetchCompleteState(audit,null);
    //Operations to be carried on workItemPrevious
}
于 2015-08-20T04:28:00.157 回答