Javascript 在rally中提供深度复制功能

Javascript 在rally中提供深度复制功能,javascript,rally,Javascript,Rally,实际上,我想要功能,比如功能深度复制 它将复制该功能中这些故事中的所有故事和任务。 我修改了StoryDeepCopy的代码,但是功能没有得到填充,只是故事被填充了,我不知道为什么会发生这种情况。 我认为story deep copy应用程序的版本是1.32,它没有功能或任何PortfolioItem的概念,但2.0版本支持这一点。 这可能是原因。 有什么建议吗 这是应用程序中的一些代码 function onChooserClose(chooser, args) { if (arg

实际上,我想要功能,比如功能深度复制 它将复制该功能中这些故事中的所有故事和任务。 我修改了StoryDeepCopy的代码,但是功能没有得到填充,只是故事被填充了,我不知道为什么会发生这种情况。 我认为story deep copy应用程序的版本是1.32,它没有功能或任何PortfolioItem的概念,但2.0版本支持这一点。 这可能是原因。 有什么建议吗 这是应用程序中的一些代码

  function onChooserClose(chooser, args) {
    if (args.selectedItem) {
      selectedValue = args.selectedItem;
      goButton.setEnabled(true);
      dojo.byId('featureBox').innerHTML = args.selectedItem.FormattedID + ' - ' + args.selectedItem.Name;
    }
  }

  function showChooser() {
    var chooserConfig = {
      fetch:"FormattedID,Name,Description",
      title: 'Feature Chooser'
    };
    chooser = new rally.sdk.ui.Chooser(chooserConfig, dataSource);
    chooser.addEventListener('onClose', onChooserClose);
    chooser.display();
  }

  rally.addOnLoad(function () {
    goButton = new rally.sdk.ui.basic.Button({
      text: "Copy",
      enabled: false
    });
    goButton.addEventListener('onClick', buttonPressed);
    goButton.display('goButton');

    chooseButton = new rally.sdk.ui.basic.Button({
      text: "Choose"
    });
    chooseButton.addEventListener('onClick', showChooser);
    chooseButton.display('chooseButton');

    showChooser();

    rally.sdk.ui.AppHeader.setHelpTopic("252");
  });
});

对于应用程序目录中的功能,没有等效的深度复制。正确的是,AppSDK1(其最新版本为1.33)没有PortfolioItem对象的概念。如果您希望访问公文包项或阻止原因,或WS-API 1.43之前的更高版本中引入的任何其他功能,此语法将允许:

<script type="text/javascript" src="/apps/1.33/sdk.js?apiVersion=1.43"></script>

此技巧的另一个变体显示在下面一个应用程序的代码片段中,该应用程序在AppSDK1应用程序中构建PortfolioItems表:

<script type="text/javascript" src="https://rally1.rallydev.com/apps/1.32/sdk.js"></script>
   <script type="text/javascript">

     function tableExample() {
       var rallyDataSource = new rally.sdk.data.RallyDataSource('111','222','false','false');
       rallyDataSource.setApiVersion("1.43");
      function itemQuery() {
         var queryObject = {
           key: "pi",
           type: "portfolioitem",
           fetch: "FormattedID,Name"
         };
         rallyDataSource.findAll(queryObject, populateTable);
      }

函数tableExample(){
var rallyDataSource=new rally.sdk.data.rallyDataSource('111','222','false','false');
rallyDataSource.setApiVersion(“1.43”);
函数itemQuery(){
变量queryObject={
键:“pi”,
类型:“portfolioitem”,
fetch:“FormattedID,Name”
};
findAll(queryObject,populateTable);
}
此方法不适用于WS-API的v2.0

必须谨慎使用。有一件事肯定会被打破,那就是关于时间框开始和结束日期的计算。这就是为什么许多旧式拉力赛应用程序目录应用程序仍然保持在1.29。
这是由于API版本1.30的更改。请参阅WS-API文档中的部分。

您好,我仍然无法获取功能(PortfolioItem)使用u提供的代码,它仍然只获取故事。我需要用Rally app builder编译和构建它吗..我这里有一个可以使用PortfoliItems的appsdk1应用程序:你不需要将app builder与appsdk1一起使用。我不确定当你设置类型:“portfolioitem”时它如何获取故事你好,nick在你的帮助下,我可以运行我的代码,但它会出现错误,如“请求的类型名称”功能“未知”。但我没有指定功能的PortfolioItem,plz help..thnx in Advanced这里有一个应用程序可以帮助你深度复制投资组合项目: