1

我正在尝试做的是在没有登录的情况下从 Rallydev 获取 JSON 数据(无论它是什么,只要确保我可以得到任何东西都可以),以确保 Rallydev 处于打开状态。我尝试了几种方法,但每种方法都需要用户名和密码。有人会为此提供一个URI吗?谢谢你们。您给予的任何东西都会受到赞赏。

String url = "link";
Client client = Client.create();
WebResource webResource = client.resource(url);
String s = webResource.get(String.class);

try { 
    // check if RallyDev service is up
    if (s.contains("Hello it is now "))
        _log.information("RallyDev is working... at " + new Date());

} catch (Exception e) {
    _log.error(ErrorCodeEnum.INTERNAL_ERROR, "RallyDev service might be down!!! in " + new Date(), e);
} 
4

2 回答 2

2

好的,所以无论是 Jersey 客户端还是针对 Rally 的普通旧 HTTP GET,我都会回到我原来的评论,即开发一个 Java 应用程序来做到这一点有点矫枉过正。您可以在 Linux 中使用单行 curl 命令完成相同的操作:

  curl -u 'rallyuser@company.com:rallypassword' https://rally1.rallydev.com/slm/webservice/1.33/hierarchicalrequirement.js?pagesize=1

对此的有效(Rally 已启动并做出响应)响应可能如下所示:

  {"QueryResult": {"_rallyAPIMajor": "1", "_rallyAPIMinor": "33", "Errors": [], "Warnings": [], "TotalResultCount": 84, "StartIndex": 1, "PageSize": 1, "Results": [{"_rallyAPIMajor": "1", "_rallyAPIMinor": "33", "_ref": "https://rally1.rallydev.com/slm/webservice/1.33/hierarchicalrequirement/12345678910.js", "_refObjectName": "My Story Name", "_type": "HierarchicalRequirement"}]}}
于 2012-05-23T03:33:06.870 回答
1

看起来您正在使用 Jersey 客户端在 Java 中设置 REST 连接。您真的需要在不提供凭据的情况下执行此操作吗?您需要传递某种凭据,因为 Rally 中的任何可查询端点都需要 HTTP 基本身份验证。

如果您正在寻找适当的 REST 语法和端点来制定有效的查询,您可能希望查看我们关于 REST 查询的 Webservices API 文档:

https://rally1.rallydev.com/slm/doc/webservice/rest.jsp

例如,执行查询并返回 JSON 格式结果的有效 REST URL 如下所示。针对以下示例 URL 的 GET 查询用户拥有的用户故事:user@company.com:

https://rally1.rallydev.com/slm/webservice/1.33/hierarchicalrequirement.js?query=(Owner = "user@company.com")&pagesize=1

这将返回第一个匹配的用户故事。

在 Java 中访问 Rally REST 服务的简单示例如下:

http://www.rallydev.com/help/basic-rest-client-operations-java

Rally 的完整(alpha-release)Java REST API 工具包在这里:

http://www.rallydev.com/developer/java-toolkit-rally-rest-api

以上所有内容对于仅确定 Rally 服务是否启动似乎有点过头了。您可以在http://status.rallydev.com上通过 RSS 订阅 Rally 的状态更新,这是了解系统状态信息的好方法。

我希望这会有所帮助 - 如果答案偏离目标,请提供一些进一步澄清的评论,我们会尽力回答。

于 2012-05-22T04:35:13.850 回答