Rally 2.1 SDK:如何通过Feature ID筛选User Story?
如何通过Feature ID筛选Rally中的User Story
嘿,我来帮你搞定这个Rally筛选的问题!你尝试用Feature.FormattedID和Feature.ObjectID筛选User Story却没拿到结果,大概率是筛选器的写法或者值的类型出了小问题,下面给你两种靠谱的解决方式,还有排查建议:
方式1:用Feature的FormattedID(比如F1234)
这种写法本身是可行的,可能之前没生效是因为缺少错误监听或者没有明确指定要返回的字段(不过筛选本身不需要,但加上更方便调试)。修改后的完整代码如下:
<!DOCTYPE html> <html> <head> <title>Custom Store Grid Example</title> <script type="text/javascript" src="/apps/2.1/sdk.js"></script> <script type="text/javascript"> Rally.onReady(function() { Ext.define('CustomApp', { extend: 'Rally.app.App', componentCls: 'app', launch: function() { var targetFeatureID = 'F1234'; // 替换成你的Feature FormattedID var filters = [ { property: 'Feature.FormattedID', operator: '=', value: targetFeatureID } ]; Ext.create('Rally.data.WsapiDataStore',{ autoLoad: true, model: 'UserStory', filters: filters, fetch: ['FormattedID', 'Name', 'Feature'], // 可选,指定要返回的字段,方便查看关联信息 listeners: { load: function(store, records, operation) { console.log(`加载到关联${targetFeatureID}的User Story数量:`, records.length); records.forEach(function(story) { console.log('Story:', story.get('FormattedID'), '-', story.get('Name')); }); }, error: function(store, operation) { console.error('加载失败,错误信息:', operation.error); // 新增错误监听,快速排查问题 } } }); }, }); Rally.launchApp('CustomApp', { name: 'Custom Store Grid Example' }); }); </script> <style type="text/css"> </style> </head> <body></body> </html>
方式2:用Feature的ObjectID(更高效)
如果你知道Feature的ObjectID(纯数字,比如12345),用这种方式会更高效,注意value必须是数字类型,不能加引号:
// 替换成你的Feature ObjectID var targetFeatureObjectID = 12345; var filters = [ { property: 'Feature.ObjectID', operator: '=', value: targetFeatureObjectID } ];
额外排查小技巧
- 确认Feature ID正确性:先去Rally里核实这个Feature确实存在,并且确实关联了User Story
- 查看错误日志:上面代码加了
error监听,控制台的错误信息能帮你快速定位问题(比如权限不足、ID写错了等) - 检查SDK版本:你用的是2.1版本,虽然写法兼容,但如果有条件可以升级到较新的SDK版本,功能更完善
内容的提问来源于stack exchange,提问作者Rakesh
相关产品推荐
相关产品推荐

