javascript - 团队成员查询任务

标签 javascript rally

我可以修改此查询字符串来过滤搜索结果,仅包含其所有者是当前项目的团队成员的任务吗?

这是我到目前为止除了团队成员声明之外还有效的查询

queryObject = { key: "tasks", type: "Task", fetch: "FormattedID,Owner,DisplayName,Name,State,Estimate,ToDo,Iteration,Name", query: ' (((State = "Completed") AND (Iteration = ' + selectedItr + ')) AND (Project.TeamMembers contains Owner))' };

最佳答案

遗憾的是,您无法在一次查询中获取所有数据。您可以首先找到您的团队成员,然后使用他们的所有引用构建一个 ORed 查询,并对他们的任务执行第二个查询:

var rallyDataSource = new rally.sdk.data.RallyDataSource('__WORKSPACE_OID__', 
                                              '__PROJECT_OID__',
                                               '__PROJECT_SCOPING_UP__', 
                                              '__PROJECT_SCOPING_DOWN__'); 

var teamMembersQuery = { key: "teamMembers", type: "User", 
    fetch: "UserName", query: '(TeamMemberships = /project/__PROJECT_OID__)'};

rallyDataSource.findAll(teamMembersQuery, function(results) {
    var ownerQueries = [];
    rally.forEach(results.teamMembers, function(teamMember) {
        ownerQueries.push('Owner = ' + teamMember._ref);
    });

    var taskQuery = {key: "tasks", type: "Task", 
        fetch: "FormattedID,Owner,DisplayName,Name,State,Estimate,ToDo,Iteration,Name", 
        query: rally.sdk.util.Query.and(['State = "Completed"', 'Iteration = ' +
        selectedItr]).and(rally.sdk.util.Query.or(ownerQueries)) };

   rallyDataSource.findAll(taskQuery, function(results) {
       //process results.tasks here
   });

});

有关编写高级查询的更多示例,请参阅 App SDK 的 RallyDataSource 帮助: http://developer.rallydev.com/help/data-examples

关于javascript - 团队成员查询任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8851691/

相关文章:

testing - 自定义 Rally Grid 列和 Rally 数据列

python - 如何使用 Python API (pyral) 在 Rally 中更新测试用例的步骤

javascript - Jquery javascript - 我怎样才能让用户 'undo' 他们的修改?

javascript - 重定向到 URL 后显示 toast 消息

python - 在 Komodo ide 中使用 Pyral 包

javascript - 如何使用Javascript查询自定义API中的Rally "Project"字段?

javascript - 打印 Javascript 为空白,显示 : block/none

javascript - Ajax 调用会阻塞服务器直到完成

javascript - Chrome 仅在本地开发中出现跨域错误。如何解决?

python - 尝试创建 Rally 测试用例时出现错误 "RallyRESTAPIError: 422 Not authorized to perform action: Invalid key"