在开始从.NET MVC webclient调用Rally REST Web服务之后获得了一些帮助。
我在这里获得了网络服务信息:
https://rally1.rallydev.com/slm/doc/webservice/
所以我可以看到我可以使用URL来访问Rally中的信息 - 类似于:
https://rally1.rallydev.com/slm/webservice/1.39/task?query=((Owner.Name
= owner@blah.com.au) and (State != Completed))&order=Rank&fetch=true&stylesheet=/slm/doc/webservice/browser.xsl
然而,我不清楚的是如何在提出请求之前进行身份验证?
我是REST Web服务的新手(已经做了一段时间的SOAP / WSDL) - 所以看起来似乎没有REST你应该添加对某些东西的引用来创建客户端类?它是否正确?您只需使用URI创建HTTPRequest - 并进行调用,获取HTTPResponse(我希望可以使用它)。
许多示例似乎都有特定的服务/ api类,他们正在调用方法或访问属性 - 所以我不确定是不是因为他们使用的是SOAP而不是REST - 或者他们自己创建了它们
也许我正在查看错误的文档,因为它似乎认为您知道如何进行身份验证。或者我错过了参考文献?
答案 0 :(得分:8)
您发现的主要Web服务文档非常适合探索数据模型中的对象和字段。由于您使用的是.NET,因此您可能需要查看我们的.NET REST工具包:
http://developer.rallydev.com/help/rest-api-net
您将找到一些示例,帮助您开始使用它提供的基本CRUD +查询操作。身份验证是为您完成的。如果你遇到困难,那么在stackoverflow上有很多关于工具包的问题和代码示例。
答案 1 :(得分:2)
我知道问题已经过时了,但这可能有助于其他人。作为get()
请求的一部分,您需要使用base64编码的用户名和密码传递基本身份验证标头。我在Atlassian documentation page上找到了此信息,并成功将其应用于Rally API 3.0(也应该与2.0一起使用)。因此,在您的get()
请求中,请添加类似于以下内容的标头:
auth_header = 'Authorization : Basic ' + base64_encode('username:password')