如何从RTC workItem中读取历史记录。我想在更改表单历史记录之前和之后检查一些属性更改及其值。通过爵士API。 怎么可能?请帮忙 。
答案 0 :(得分:1)
Ragarding属性,您可以在“Working with Work Item Attributes”
中查看更多内容如果您将属性ID作为字符串提供,则可以使用此代码获取属性。
IWorkItemClient workItemClient = (IWorkItemClient) fTeamRepository.getClientLibrary(IWorkItemClient.class);
IAttribute someAttribute= workItemClient.findAttribute(fProjectArea, "some_attribute_ID", monitor);
对于历史记录,这是thread can help
您可以使用
IItemManager.fetchCompleteState()
将完整项目置于其历史状态 如果您想获得完整的历史记录,您还可以使用IItemManager.fetchAllStateHandles()
一次性获取所有状态句柄,而不是使用IAuditable.getPredecessorState()
遍历历史记录。
答案 1 :(得分: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
}