RallyDataSource.update不工作portfolioitem /功能(作品users

2019-10-21 01:09发布

下面是我使用的API verison:

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

我们的目标是显示一个组合项目/功能和所有在网格特征的子用户故事。 然后,基于美国的字段值,更新投资组合项目/特征的字段的值。

我能够使用更新用户故事的发行领域rallydatasource.update命令,但相同的命令不更新投资组合项目/功能领域合作

下面是我想要更新的字段Feature 。 这些不工作

rallyDataSource.update({_ref:ref, GroomingState: nfGroomingState},onUpdateComplete,onError);
rallyDataSource.update({_ref:ref, c_GroomingState: nfGroomingState},onUpdateComplete,onError);
rallyDataSource.update({_ref:ref, Ready: true},onUpdateComplete,onError);                                                                                                                     
rallyDataSource.update({_ref:ref, Notes: "This is test"},onUpdateComplete,onError);
rallyDataSource.update({_ref:ref, Architect: "XYZ ABC"},onUpdateComplete,onError);

下面是我想要更新的字段UserStory 。 这并不工作。

rallyDataSource.update({
  "_ref":sRef, 
  "Release": [ 
    {
      ref:relRef
    }
  ]},
onUpdateComplete,onError);

是否有人可以帮助我了解,如果有什么我做错了什么? 是升级到最新的投资组合项目不以V 1.43支持?

Answer 1:

您正在使用一招?apiVersion=1.43设置WS API版本的版本遗留AppSDK1早,不支持,和它的作品的程度,但不足以获得工作的更新。

我建议AppSDK2此外,由于PI类型的国家是一个完整的对象(不同于国家或缺陷或UserStories的ScheduleState)一_ref必须在此代码中使用: GroomingState: nfGroomingState您可能使用的参考,它是不是从清代码片段。 有一个在这里的Ruby例如 ,与PI状态的作品。 拉力红宝石工具箱位于相同WS API模型,以便例如不完全不相关的。

以下是我与AppSDK1组试图用WS API的版本1.43的细节。 我不管如何设置版本或者使用src="/apps/1.33/sdk.js?apiVersion=1.43"rallyDataSource.setApiVersion("1.43"); 我必须使用父类型:

PortfolioItem

代替混凝土的PortfolioItem/Feature型,当我查询:

function itemQuery() {
      var queryObject = {
          key: "pi",
          //type: "PortfolioItem/Feature", //does not work
          type: "PortfolioItem", 
          fetch: "FormattedID,Parent,State,Name",
           query: "(Parent.FormattedID = I8)"
       };
rallyDataSource.findAll(queryObject, populateTable);
}

这工作得很好,和PortfolioItem /倡议I8的孩子,这是类型PortfolioItem /功能的成功返回,如果所有我想要做的是建立一个网格,它的工作原理:

function populateTable(results) {
     var tableDiv = document.getElementById('aDiv');
     for (var i=0; i < results.pi.length; i++) {
         var config = { columns:
             [{key: 'FormattedID', header: 'Formatted ID', width: 100},
         {key: 'State.Name', header: 'State', width: 100},
         ]};
        var table = new rally.sdk.ui.Table(config);
         table.addRows(results.pi);
         table.display(tableDiv);
      };

两个特征是退换,已经国家已经设置,其他同任何国家:

但是,如果我尝试添加更新功能:

function populateTable(results) {
     var tableDiv = document.getElementById('aDiv');
     for (var i=0; i < results.pi.length; i++) {
         if(results.pi[i].State === null){
            console.log('state:',results.pi[i].State)
            rallyDataSource.update({"_ref":results.pi[i]._ref, "State": "https://rally1.rallydev.com/slm/webservice/v2.0/state/12352608621"});
        }
    }
    //...

"Requested type name "feature" is unknown则返回错误:

OperationResult: ObjectErrors: Array[1]0: "Requested type name "feature" is unknown."length: 1__proto__: Array[0]Warnings: Array[1]0: "Please update your client to use the latest version of the API. You can find the latest version at https://rally1.rallydev.com/slm/doc/webservice/index.jsp?version=v2.0. No new projects should use this version of the API as it will be removed in the future."length: 1

AppSDK1可与WS API,它不再支持。 1.43最后支持的日期是今年6月20日。 AppSDK1停在WS API的1.32。 这是用于特技设置WS API的版本,因为PortfolioItems是在WS API的1.37推出的原因。 特别是在使用后推出了AppSDK1不再更新(见特点WS API版本 )也不能保证rallyDataSource.setApiVersion("1.43"); 招将在所有情况下工作。



文章来源: RallyDataSource.update is not working for portfolioitem/feature (works for userstories)