2014-03-06 46 views
2

我使用的回溯API,這裏是我的代碼:拉力賽的Java:獲取功能與ItemHierarchy

LookbackQuery query = this.lookback.newSnapshotQuery(); 
query.addFindClause("_TypeHierarchy", "PortfolioItem/Feature"); 
query.addFindClause("_ItemHierarchy", new BigInteger(workProductObjectID)); 
//here the workProductObjectID is the string representation of objectID of the user story. 
//I am trying to look for the feature in that story's hierarchy. 

query.requireFields("FormattedID","Name","ObjectID"); 
LookbackResult result = query.execute(); 

的totalResultCount返回值爲0,但我可以看到,這個故事確實有一個分配的功能。當我刪除'_ItemHierarchy'約束時,我可以獲得所有功能。

回答

2

您是限制型層次結構PortfolioItem /特性,並在同一時間的代碼想從一個用戶故事,這是矛盾的下降層次的項目。

對於這個層次:

Feature 3333 
-Top Story 4444 
--Child Story 5555 
---Task 6666 

類似於代碼查詢端點將返回0結果:

https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/1111/artifact/snapshot/query.js?find={"_ItemHierarchy":4444,"_TypeHierarchy": "PortfilioItem/Feature"} 

要檢索從功能3333下降所有的故事(包括故事4444 5555但不是任務6666),在您的查詢中包含此子句:

{ 
    "_ItemHierarchy": 4444, 
    "_TypeHierarchy": "HierarchicalRequirement" 
} 

其中返回相同的假象,因爲這一個:

{ 
    "_ItemHierarchy": 3333, 
    "_TypeHierarchy": "HierarchicalRequirement" 
} 

如果你想獲取功能,則確保包括Feature它在「場」語句。這相當於端點:

https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/1111/artifact/snapshot/query.js?find={"_ItemHierarchy":4444,"_TypeHierarchy": "HierarchicalRequirement"}&fields=["Name","Feature"] 

它將返回:

Results: [ 
{ 
Feature: 3333, 
Name: "A Top Story One" 
}, 
{ 
Feature: 3333, 
Name: "A Story One" 
} 

之前寫你可以直接在瀏覽器中測試查看代碼,如果你的查詢返回你所期望的。

+0

我收到以下錯誤,當我在這兩種情況下編輯'_ItemHierarchy'值到合適的對象ID後點我的瀏覽器到終點: {「_rallyAPIMajor」:「2」,「_ rallyAPIMinor」:「0」 , 「錯誤」: 「遇到ID d3bce2cf-5db5-4d39-b4d2-f9f80c43bfcf服務器錯誤」], 「警告」:[]} –

+0

你使用有效的OID爲您的工作區還通過在例如更換1111? – nickm

+0

比方說,我通過一個用戶故事的objectID到looback查詢在'_ItemHierarchy',我不應該得到同樣的故事早在結果?例如,如果我傳遞ObjectID =「1234」並且TypeHierarchy是「hierarchicalrequirement」,那麼我會在回溯調用的結果中獲得相同的故事(ObjectID 1234)嗎? –