Quel serait le moyen le plus simple d'obtenir toutes les histoires d'utilisateurs d'un élément de portefeuille dans Rally API?
-
09-12-2019 - |
Question
Quel serait le moyen le plus simple d'obtenir toutes les histoires d'utilisateurs pour un élément de portefeuille dans Rally API?À l'heure actuelle, l'API ne renvoie que les enfants immédiats.
similaire à une question précédente, y a-t-il un moyen de filtrer à l'aide de l'API de manière à obtenir uniquement les histoires utilisateur associées?
La solution
Actuellement pour des raisons de performance Les résultats des RSAPI sont limités à un niveau de la hiérarchie.Une fois que vous aurez les enfants immédiats des résultats de votre première requête, vous devrez vous charger sur chacun et émettre une nouvelle requête pour ses enfants (etc. Récursivement jusqu'à ce que vous n'ayez que des enfants de feuilles).
fais-tu cela dans une application?Il peut être un peu difficile de gérer tous les rappels ASYNC et de compenser correctement les données correctement, mais le Rallydatasource devrait au moins rendre la partie requérante plus simple ...
Autres conseils
Je suis capable d'obtenir les États-Unis d'un élément de portefeuille utilisant: 1.43 Version API
queryFeat = "((PortfolioItemType.Ordinal = 0) and " + "(Release.Name != " + "\"" + selectedRelease + "\"))";
console.log("queryfeat",queryFeat);
queryArrayFeat[0] = {
key: CARD_TYPE,
type: 'PortfolioItem',
query: queryFeat,
fetch: 'Rank,FormattedID,Name,Release,Parent,GroomingState,LeafStoryCount,PercentDoneByStoryCount,LeafStoryPlanEstimateTotal,PercentDoneByStoryPlanEstimate,Project,Tags,ObjectID,Description,UserName,Children,Ready,Architect,SolutionTestArchitect,UserStories,Pipeline,PlanEstimate,SizeConfidence,Rank,Ready,Owner,Blocked,blockedReason,Release,Iteration,ScheduleState,ExecutionOrder,DoRCriteria,AffectsDocumentationTeam,HCSRoadmapItem,TopDownGroomAllUSCreated,State',
order: 'Rank'
};
queryArrayFeat[1] = {
key: 'users',
type: 'users',
fetch: 'UserName,ObjectID,DisplayName'
};
rallyDataSource.setApiVersion("1.43");
rallyDataSource.findAll(queryArrayFeat, displayCards);
console.log("Query Results:",queryArrayFeat);