首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用Java Rally Rest API创建测试集

无法使用Java Rally Rest API创建测试集
EN

Stack Overflow用户
提问于 2018-02-26 18:58:59
回答 1查看 240关注 0票数 1

我需要在迭代中创建新的测试集,并且已经根据格式化的ID为迭代指定了对象ID。我使用以下代码来创建TestSet。但是它没有给出任何结果“Errors: Object read: Object not found for Object ID: null”

代码语言:javascript
运行
复制
JsonObject createTestCase = new JsonObject();
createTestCase.addProperty("Name", "New Test Set");
createTestCase.addProperty("DefectStatus", "NONE");
createTestCase.addProperty("TaskStatus", "NONE");
createTestCase.addProperty("TestCaseStatus", "ALL_RUN_ALL_PASSING");
createTestCase.addProperty("Iteration", findIterationObjectId("TestProject-PI-2-Iteration 1"));

CreateRequest createRequest = new CreateRequest("testset", createTestCase);
CreateResponse createResponse = null;
try{
    createResponse = restApi.create(createRequest);
    if (createResponse.wasSuccessful()) {
         String createReference = createResponse.getObject().get("_ref").getAsString();                             
   }
} catch(Exception e){
  //error
  }

根据格式化的ID获取迭代的对象ID

代码语言:javascript
运行
复制
 private String findIterationObjectId(String iterationFormattedID) {      
    QueryRequest iterationRequest = new QueryRequest("Iteration");
    iterationRequest.setFetch(new Fetch("ObjectID"));

    iterationRequest.setQueryFilter(new QueryFilter("Name", "contains", iterationFormattedID));
    QueryResponse testSetQueryResponse = null;
    try {
        testSetQueryResponse = restApi.query(iterationRequest);
        if (testSetQueryResponse.wasSuccessful() && testSetQueryResponse.getResults().size() > 0) {
            String objectId = testSetQueryResponse.getResults().get(0).getAsJsonObject().get("ObjectID").toString();                
            return objectId;
        } else {
            //error
        }
    } catch (IOException | NullPointerException e) {
        //error
    }

}
EN

回答 1

Stack Overflow用户

发布于 2018-02-28 04:10:49

在wsapi中,当你设置对象关系时,你总是使用它们的ref uri,而不仅仅是对象id。参照的格式为/<type>/<objectid>

因此,在您的情况下,这应该是可行的:

代码语言:javascript
运行
复制
createTestCase.addProperty("Iteration", "/iteration/" + findIterationObjectId("..."));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48986890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档