tâches de requête par les membres de l'équipe
-
28-10-2019 - |
Question
Puis-je modifier cette chaîne de requête pour filtrer une recherche résultant avec uniquement les tâches qui est propriétaires sont membres de l'équipe du projet en cours?
Ceci est la requête que j'ai jusqu'à présent qui travaille en dehors de la déclaration des membres de l'équipe
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))' };
La solution
Malheureusement, vous ne pouvez pas obtenir toutes les données dans une requête. Vous pouvez obtenir vos membres de l'équipe d'abord, puis construire une requête ORed avec tous leurs refs et à faire une deuxième requête pour leurs tâches:
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
});
});
Pour plus d'exemples de l'écriture de requêtes avancées voir l'aide de RallyDataSource du SDK App: http://developer.rallydev.com/help/data-examples
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow