首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rally Rest Api:从Defect获取用户的电子邮件地址

Rally Rest Api:从Defect获取用户的电子邮件地址
EN

Stack Overflow用户
提问于 2012-09-05 06:07:44
回答 1查看 1.4K关注 0票数 1

使用Rally的rest api,我如何查询以找到用户的电子邮件地址?

例如,我使用以下查询来获取一个缺陷,其中包含打开它的用户和拥有该缺陷的用户的全名:

代码语言:javascript
复制
 QueryRequest defectRequest = new QueryRequest("defect");
 defectRequest.setFetch(new Fetch("Project", "LastUpdateDate", "FormattedId"));
 defectRequest.setQueryFilter(new QueryFilter("Project.Name", "=", rallyProjectName).and(new QueryFilter("LastUpdateDate", ">", defectTimestamp.getTimestamp())));
 QueryResponse projectDefects = rallyApi.query(defectRequest);

现在我想从缺陷中获取提交者和所有者用户,并获得他们的电子邮件地址。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-05 09:10:26

确保在获取缺陷时包含字段"Owner“和"SubmittedBy”:

代码语言:javascript
复制
   defectRequest.setFetch(new Fetch("Project", "LastUpdateDate", "FormattedId", "Owner", "SubmittedBy"));

然后,每个返回的缺陷上的Owner和SubmittedBy字段(如果在Rally中填充并且不为空)将具有对Rally中相应的User对象的引用。那么你倾向于为此做第二个请求是正确的。最简单的方法就是使用该引用并直接对该引用执行GetRequest。下面是关于Owner字段的示例(请原谅笨拙的try/catch块-它正在捕获空的Owner字段):

代码语言:javascript
复制
        QueryResponse projectDefects = restApi.query(defectRequest);
        if (projectDefects.wasSuccessful()) {
            for (JsonElement result : projectDefects.getResults()) {
                JsonObject defect = result.getAsJsonObject();
                try {
                    JsonObject ownerJsonObject = defect.get("Owner").getAsJsonObject();
                    String ownerRef = ownerJsonObject.get("_ref").getAsString();
                    GetRequest ownerRequest = new GetRequest(ownerRef);
                    GetResponse ownerResponse = restApi.get(ownerRequest);
                    JsonObject ownerObj = ownerResponse.getObject();
                    System.out.println(String.format("Read owner. EmailAddress = %s",
                            ownerObj.get("EmailAddress").getAsString()));
                } catch (java.lang.IllegalStateException ise) {
                    // System.out.println("IllegalStateException caught: ");
                    // ise.printStackTrace();
                }
            }
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12271990

复制
相关文章

相似问题

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