OP Kane Zeng 报告 in the comments 指出,在以下以下解决方案中,一个正在运行:
我用:
IDeliverableHandle deliverable =
workItemClient.findDeliverableByName(projectArea, currentFoundIn,
IDeliverable.SMALL_PROFILE ,null);
我现在可以得到我需要的东西
原答案:
That thread 提及:
IDeliverableHandle deliverable= ... // Find a deliverable using one of
the IWorkItemClient#findDeliverable* methods
IAttribute foundIn= workItemClient.findAttribute(project,
IWorkItem.FOUND_IN_PROPRTY, monitor);
workItem.setValue(foundIn, deliverable);
这似乎类似于this thread:
属性可以使用
IWorkItemCommon#findAttribute(IProjectAreaHandle projectArea,
String attributeId, IProgressMonitor monitor);
因此,对于 Found In 属性,您将执行以下操作
IAttribute foundIn= workItemClient.findAttribute(projectArea,
IWorkItem.FOUND_IN_PROPERTY, monitor);
IDeliverableHandle deliverable = (IDeliverableHandle)workItem.getValue(foundIn);
more recent answer 给出:
IAttribute foundInAttribute = myWorkItemClient.findAttribute(projectAreaHandle, "foundIn" , null);
IDeliverableHandle foundInDeliverableHandle = (IDeliverableHandle) currentWI.getValue(foundInAttribute);
if (foundInDeliverableHandle != null){
IDeliverable deliverable = (IDeliverable) this.repository.itemManager().fetchCompleteItem(foundInDeliverableHandle, IItemManager.DEFAULT, null);
}
(你会找到similar approach there)