1

你能给我一个如何查询信息的例子吗?

我们有以下方式查询缺陷的示例,

var queryConf = { type: 'defect',
key : 'defects',
fetch: true
};
4

1 回答 1

0

每个Web 服务 API文档 Artifact 对象上都有 Changesets 集合。缺陷继承自 Artifacts。下面是一个示例,它使用关联的变更集数据按优先级构建缺陷表:

<!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>
于 2013-10-31T04:07:03.470 回答