在Rally中:我可以将自定义任务状态映射到Rally任务板中的现有任务状态(类似于用户故事的看板)吗?

时间:2012-06-07 23:06:32

标签: javascript extjs rally

创建具有可映射状态的TASK卡板需要什么,例如Rally现有的看板支持。

我想添加一个或两个自定义任务状态:例如“准备合并”和“单元测试完成”。现有的任务板不支持此功能。

我使用Rally 2.0 SDK(预览版)玩卡板代码,并且能够在自定义状态列中快速显示任务,但映射是我丢失的地方,因为我不确定如何将这些自定义状态映射到默认的定义/进程中/已完成状态。如果您对用于状态映射的触发器或组件有任何指示,我很好奇。

我知道可能会对其他任务状态有所反对,但在某些工程公司中,编码与任务紧密相关,其他状态在任务级别上可能有意义。

1 个答案:

答案 0 :(得分:1)

首先让我给你一些警告。 您的映射仅适用于此特定板和任何其他视图。因此,更改可能很容易失去同步。

以下是一些应该按照您的期望进行操作的代码。你可以在这里得到它的要点 https://gist.github.com/2926610

<!DOCTYPE html>
<html>
<head>
<title>My Custom App</title>

<!--Include SDK-->
<script type="text/javascript" src="https://rally1.rallydev.com/apps/2.0p/sdk.js"></script>

<!--App code-->
<script type="text/javascript">

    Rally.onReady(function() {

        Ext.define('CustomApp', {
            extend: 'Rally.app.App',
            componentCls: 'app',
            mappedToField:"State",
            mappedFromField:"Mapme",

            fieldNameMap:{
                a:"Defined",
                b:"Defined",
                c:"In-Progress",
                d:"In-Progress",
                e:"Completed"
            },

            launch: function() {
                this.add({
                    xtype:'rallycardboard',
                    types:['task'],
                    attribute: this.mappedFromField,
                    listeners:{
                        beforecarddroppedsave:function(cardboard, card) {
                            //map the new state from on this card to the new state
                            var newState = this.fieldNameMap[card.record.get(this.mappedFromField)];
                            card.record.set(this.mappedToField, newState);
                        },
                        scope:this
                    }
                });
            }
        });

        Rally.launchApp('CustomApp', {
            name: 'My Custom App'
        });

    });

</script>


</head>
<body class="myApp">
</body>
</html>