2016-01-07 29 views
0

我需要以下工作REST端点的Java查询如何使用版本Java的一个REST客户端

/rest-1.v1/Data/Timebox转换版本一个工作URL(端点)转换成Java查询?其中= Schedule.ScheduledScopes.Name =“示例:呼叫中心产品”& sel =工作项目:缺陷[AssetState ='Closed']。总和

我不工作代码:

IAssetType storyType = services.getMeta().getAssetType("Timebox"); 
     Query query = new Query(storyType, true); 
     IAttributeDefinition name = storyType.getAttributeDefinition("Name"); 
     IAttributeDefinition defect_estimate = storyType.getAttributeDefinition("Workitems:Defect[AssetState='Closed'][email protected]"); 
     IAttributeDefinition story_estimate = storyType.getAttributeDefinition("Workitems:Story[AssetState='Closed'][email protected]"); 
     query.getSelection().add(name); 
     query.getSelection().add(defect_estimate); 
     query.getSelection().add(story_estimate); 
     //IFilterTerm activeSprint = new TokenTerm("State.Code='ACTV'"); 
     IFilterTerm activeSprint = new TokenTerm("Schedule.ScheduledScopes.Name='Sample: Call Center Product'"); 
     query.setFilter(activeSprint);   
     DefaultCategoryDataset dataset = new DefaultCategoryDataset(); 
     QueryResult result = services.retrieve(query); 

错误我得到:

Exception in thread "main" com.versionone.apiclient.exceptions.MetaException: Unknown AttributeDefinition: Timebox.Workitems:Defect[AssetState='Closed'][email protected] 
at com.versionone.apiclient.MetaModel.getAttributeDefinition(MetaModel.java:119) 
at com.versionone.apiclient.AssetType.getAttributeDefinition(AssetType.java:96) 
at v1_rest_intig.Example1.main(Example1.java:230) 

我在做什么错? 任何指导有很大的帮助提前

感谢

+0

你可以用'工作项尝试:缺陷[AssetState = '封闭']','然后工作项:缺陷[AssetState = '封闭'] Estimate' ......找的哪个部分你属性路径导致问题。 –

+0

我试着替换为你说的,但仍然一样,我也试过Defect.Estimate。@ Sum它被关闭并且没有关闭,还有一些重复的NULL值的资产 –

+0

我想它不接受这个[AssetState ='Closed '] –

回答

2

你使用了正确的属性定义,但显然,在一些版本的API,他们停止翻译的符号,像brakets“[”进入URL编码( '%5B'为开放括号),并因此产生错误消息。

请试试这个:

工作项:缺陷%5BAssetState =%27128%27%5D

为您的属性定义的缺陷/故事AssetType。

让我知道这是否工作。

TIA,

+0

我检查了最后一个版本,日期是15.3。+,这个错误仍然会出现... – alestar