2013-10-31 11 views

回答

0

Web Services API文档神器对象上有变更集合。缺陷从工件继承。下面是一个通过优先级和相关Changesets数据建立缺陷表的示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
    <!-- Copyright (c) 2010 Rally Software Development Corp. All rights reserved --> 
    <html> 
    <head> 
     <title>Defects By Priority with associated Changesets Example</title> 
     <meta name="Name" content="App Example: Defects by Priority and associated Changesets" /> 
     <meta name="Version" content="2010.4" /> 
     <meta name="Vendor" content="Nick M Rally lab" /> 

     <script type="text/javascript" src="https://rally1.rallydev.com/apps/1.33/sdk.js?apiVersion=1.43"></script> 
     <script type="text/javascript"> 
      var table; 
      var rallyDataSource = null; 
      function showTable(results) { 
       if(table) { 
        table.destroy(); 
       } 
      for (var i=0; i < results.defects.length; i++) { 
       if(results.defects[i].Changesets.length > 0){ 
        results.defects[i].ChangesetsMessages = ""; 
        console.log(results.defects[i].Changesets.length); 
         for (var j=0; j < results.defects[i].Changesets.length; j++) { 
           results.defects[i].ChangesetsMessages += results.defects[i].Changesets[j].Revision; 
           results.defects[i].ChangesetsMessages += ' '; 
        results.defects[i].ChangesetsMessages +=   results.defects[i].Changesets[j].Message; 
        results.defects[i].ChangesetsMessages += '<br />'; 
           } 
        } 
       } 
       var config = { 
        columnKeys : ['FormattedID', 'Name', 'Priority','ChangesetsMessages'], 
        columnHeaders : ['Formatted ID', 'Name', 'Priority','Changesets - Revision, Message'], 
        columnWidths : ['150px','150px', '150px', '300px'], 
       }; 
       table = new rally.sdk.ui.Table(config); 
       table.addRows(results.defects); 
       table.display("defects"); 
      } 
      function onSelectionChanged(sender, eventArgs) { 
       var queryObject = { 
        key : 'defects', 
        type : 'defect', 
        query: '(Priority = "' + eventArgs.value + '")', 
        fetch: 'Name,FormattedID,Priority,Changesets,Changeset,ObjectID,Message,Revision' 
       }; 
       rallyDataSource.findAll(queryObject, showTable); 
      } 

      function onLoad() { 

     rallyDataSource = new rally.sdk.data.RallyDataSource('1111','2222','false','false'); 

      var dpConfig = { 
       type  : "defect", 
       attribute: "priority", 
       defaultDisplayedValue: "Low", 
       label: "Defect Priority:", 
       showLabel: true 
      }; 

      var dpDropdown = new rally.sdk.ui.AttributeDropdown(dpConfig, rallyDataSource); 
      dpDropdown.display("priorityDiv", onSelectionChanged); 
      } 
      rally.addOnLoad(onLoad); 

    </script> 
    </head> 
    <body> 
     <div id="priorityDiv"></div><div id="defects"></div> 
    </body> 
    </html> 
相关问题