无法使用JQUERY及其JSON REST API创建Rally缺陷

时间:2011-12-07 02:41:40

标签: jquery ajax json http rally

我可以根据以下示例使用XML REST API创建缺陷:https://rally1.rallydev.com/slm/doc/webservice/rest_xml.jsp

但是,我无法使用jquery和他们的JSON api做同样的事情: 这就是我提交PUT以创建缺陷的方法:

    var defectData = JSON.stringify(
            {
                Description: 'bla bla bla bla',
                Name: 'This is the defect name',
                Priority: 'None',
                ReleaseNote: 'false',
                Severity: 'Major Problem',
                State: 'Open',
                Owner: "https://<rallysite>/slm/webservice/1.28/user/<myuserid>.js"
                }
             );

    $.ajax({
          url: "https://<rallysite>/slm/webservice/1.28/defect/create",
          type: 'PUT',
          mimeType: 'application/javascript',
          data: { 'Defect': defectData },
          dataType: 'json',
          username: "<myusername>",
          password: "<mypassword>",
          success: function(data){
              console.log(data);
            }
        });

我没有看到PUT请求是通过firefox上的firebug或通过IE中的开发工具提交的。我也没有看到任何错误。 我尝试了一个简单的GET请求来在Rally中查询我的项目,这样就可以了。

不确定我做错了什么,会很感激帮助。谢谢!

2 个答案:

答案 0 :(得分:1)

直接来自jQuery docs:

typeString
Default: 'GET'
The type of request to make ("POST" or "GET"), default is "GET". Note: Other HTTP request methods, such as PUT and DELETE, can also be used here, but they are not supported by all browsers.

您可能根本无法点击任何PUTDELETE个端点,尤其是在您需要支持IE时。

答案 1 :(得分:0)

另外,您可能会发现Rally App SDK是从Rally的Rest Api访问数据的有用工具。

SDK是使用Dojo创建的,因为它是底层框架,但可以很容易地与JQuery一起使用。 AppSDK在所有主流浏览器上进行了测试,并提供了与Rally数据交互的简化界面。