如何查询未标记的拉力赛故事?

时间:2012-09-11 16:46:55

标签: rally

我有一个基本的下拉列表,其中包含为项目定义的所有标签和两个额外的字段" All"和"无"。下拉列表用于过滤纸板上的故事。我已设法使其适用于个别标签和"所有"字段(显示所有用户故事),但是由于没有与之关联的标签的用户故事而难以过滤纸板。

我的纸板配置与此类似:

var cardboardConfig = {
    types: ['HierarchicalRequirement'],
    attribute: "ScheduleState",
    sortAscending: true,
    order: "Rank",
    fetch: "Name,FormattedID,Owner,ObjectID,Tags,Discussion",    
};

对于cardboardConfig.query,我有一些逻辑来生成最终看起来类似于此的查询:

'Tags contains "/tag/12345"'

我知道Tags是一个包含Tag个对象的数组,我已经编写了一个测试,表明没有与之关联的标签的故事为空{{1} }}数组,所以我尝试了以下内容来查询没有标签的故事,但所有都没有返回任何结果:

Tags

在网络和stackoverflow上,有一些答案说Rally不支持'Tags = null' 'Tags = []' 'Tags contains null' 'Tags contains ""' ,所以我也不能通过所有带标签的故事来过滤纸板。< / p>

3 个答案:

答案 0 :(得分:1)

好消息!截至今天,现在WSAPI的v2.0支持了这一点!

?query=(Tags.ObjectID = null)

在SDK中说它看起来像这样:

storeConfig: {
    filters: [
        {
            property: 'Tags.ObjectID',
            value: null
        }
    ]
}

同样,(Tags.ObjectID!= null)应返回至少包含一个标记的故事。

答案 1 :(得分:0)

您的应用使用的是哪个版本的SDK?无论如何,我认为你需要在storeConfig中指定“filters”配置选项,如下所示:

var cardboardConfig = {
    types: ['HierarchicalRequirement'],
    attribute: "ScheduleState",
    sortAscending: true,
    order: "Rank",
    fetch: "Name,FormattedID,Owner,ObjectID,Tags,Discussion",
    query: '(Tags = null)'
};

答案 2 :(得分:0)

不幸的是你是对的--Rally的WSAPI不支持集合的is-empty(或!is-empty)运算符。

我鼓励你在这里投票:
https://ideas.rallydev.com/ideas/D2055