如何在不登录的情况下从Rallydev rest API获取JSON数据

如何在不登录的情况下从Rallydev rest API获取JSON数据,json,rally,Json,Rally,我试图做的是从Rallydev获取JSON数据(不管是什么,只要确保我可以获取任何东西都是正确的),而不必登录以确保Rallydev处于启用状态。我尝试了几种方法,但每种方法都需要用户名和密码。有人会为此提供URI吗?谢谢大家。你所给予的一切都将不胜感激 String url = "link"; Client client = Client.create(); WebResource webResource = client.resource(url); String s = webResour

我试图做的是从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);
} 

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

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

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

=”user@company.com“”&pagesize=1

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

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

Rally的完整(alpha版)Java REST API工具包如下:

以上所有这些似乎都有点过分了,仅仅是为了了解拉力赛服务是否已经启动。您可以通过RSS订阅Rally的状态更新,这是一种了解系统状态信息的好方法


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

好的,所以无论是Jersey客户端还是普通的HTTP GET-Again Rally,我回到我最初的评论,即开发Java应用程序来实现这一点有点过火。在Linux中,使用一行curl命令也可以完成同样的任务:

  curl -u 'rallyuser@company.com:rallypassword' https://rally1.rallydev.com/slm/webservice/1.33/hierarchicalrequirement.js?pagesize=1
对此的有效(反弹已开始并作出响应)响应可能如下所示:

  {"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"}]}}

南希,欢迎来到StackOverflow!在这里得到好答案的最好方法是写一个很棒的问题。今天是你的幸运日,因为你说你已经写了一些代码。把代码贴在这里,我相信这里的人会很乐意帮忙的。祝你好运谢谢你,杰莫尔253。我把我的代码放在下面:String url=“”;Client=Client.create();WebResource=client.resource(url);String s=webResource.get(String.class);请尝试{//检查RallyDev服务是否已启动,如果(s.contains(“Hello it now”))\u日志信息(“RallyDev正在工作…在“+new Date());}捕获(异常e){日志错误(ErrorCodeEnum.INTERNAL_错误),“RallyDev服务可能已关闭!!!在“+new Date(),e);}不,不。使用问题下方的编辑链接:)你会让每个人都头疼;)把你的问题和代码贴在一起。嗨,Jmort253,我很尴尬。这是我第一次这样做。我想知道有没有办法把代码格式化?谢谢你的回答,马克。很高兴有人回答我的问题。:-)我认为以电子邮件地址为参数的URL应该有所帮助。我现在就要试试这个。10分钟前,我会给出反馈。