会社用のカスタム アプリを作成しました。フィールドが 2 つしかない限り、クエリは正常に機能します。3 つ目のフィールドが追加されると、レコードは返されません。
参考までに、STORIES と DEFECTS をクエリしています。
var query = [];
var queryCriteria = buildQueryFilter(STORIES);
query[0] = {
key : STORIES,
type : "HierarchicalRequirement",
fetch : "FormattedID,Name,Owner,SubProject,CreationDate,Release,Iteration,ScheduleState,State,Build,Parent",
order : "FormattedID",
query : queryCriteria
};
var queryCriteria = buildQueryFilter(DEFECTS);
if (!(showUserStoriesOnly)){
query[1] = {
key : DEFECTS,
type : "defects",
fetch : "FormattedID,Name,Owner,SubProject,CreationDate,Release,Iteration,ScheduleState,State,FixedInBuild,Requirement",
order : "FormattedID",
query : queryCriteria
};
}
rallyDataSource.findAll(query, showResults);
編集: buildQueryFilter の「省略された」コードは次のとおりです。
returnFilter += returnFilter.length === 0 ? '' : ' AND '
returnFilter += '(Iteration.Name = "' + filterIteration + '")';
returnFilter += returnFilter.length === 0 ? '' : ' AND '
returnFilter += '(ScheduleState = "' + filterScheduleState + '")';
returnFilter += returnFilter.length === 0 ? '' : ' AND '
returnFilter += '(Owner = \"__USER_NAME__\")';
returnFilter = '(' + returnFilter + ')';
「queryCriteria」が次の場合:
クエリ (ストーリー): ((Iteration.Name = "25 (10/02 - 10/16)") AND (ScheduleState = "Accepted"))
クエリ (欠陥): ((Iteration.Name = "25 (10/02 - 10/16)") AND (ScheduleState = "Accepted"))
できます。しかし、 3 番目のフィールドを追加すると、フィールドや順序は関係ありませんが、機能しなくなります。
クエリ (ストーリー): ((Iteration.Name = "25 (10/02 - 10/16)") AND (ScheduleState = "Accepted") AND (Owner = "user@domain.com"))
クエリ (欠陥): ((Iteration.Name = "25 (10/02 - 10/16)") AND (ScheduleState = "Accepted") AND (Owner = "user@domain.com"))
私はドキュメントを調べてきましたが、これはうまくいくはずです。なぜそうではないのかわかりません。誰も手がかりを持っていますか?
ありがとう!