【发布时间】:2014-08-14 05:28:43
【问题描述】:
如何从 RTC workItem 读取历史记录。我想在更改表单历史记录之前和之后检查一些属性更改及其值。通过爵士 API。 怎么可能?请帮忙 。
【问题讨论】:
如何从 RTC workItem 读取历史记录。我想在更改表单历史记录之前和之后检查一些属性更改及其值。通过爵士 API。 怎么可能?请帮忙 。
【问题讨论】:
有关属性,您可以在“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()遍历历史记录。
【讨论】:
使用下面的sn-p:
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
}
【讨论】: