使用AngularJS或如何从CustomApp调用休息服务

时间:2016-01-06 16:00:01

标签: angularjs rally

我想知道是否可以将angularjs添加到Rally中的自定义应用程序,或者作为替代方法如何从Rally Custom应用程序调用REST服务。有人可以帮我弄这个吗?提前谢谢。

最好的问候

1 个答案:

答案 0 :(得分:0)

以下是从Rally自定义页面内部的Angular应用程序进行WS API调用的示例:

    <!DOCTYPE html>
<html lang="en-US">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</head>
<body>
<div ng-app="myapp">
    <p>Name : <input type="text" ng-model="name"></p>
    <h1>Hello {{name}}</h1>
    <div ng-controller="MyController" >
    <button ng-click="myData.doClick(item, $event)">Send AJAX Request to Rally</button>
    <br/>
    Data from server: {{myData.fromServer}}
  </div>

  <script>
    angular.module("myapp", [])
        .controller("MyController", function($scope, $http) {
            $scope.myData = {};
            $scope.myData.doClick = function(item, event) {

                var responsePromise = $http.get("https://rally1.rallydev.com/slm/webservice/v2.0/defect");

                responsePromise.success(function(data, status, headers, config) {
                    $scope.myData.fromServer = data.QueryResult.Results[0];
                    console.log(data);
                });
                responsePromise.error(function(data, status, headers, config) {
                    alert("AJAX failed!");
                });
            }


        } );    
  </script>    
</div>
</body>
</html>

如果通过http访问,在app中使用外部CDN会产生混合内容错误。如果使用https,它可以工作。这是第一个查询结果(来自我当前项目的缺陷)。

enter image description here