私は、LookbackApiを構築したチームの一員としてRallySoftwareで働いています。これをテストしたところ、PortfolioItem InvestmentCategoryフィールドでは機能するようですが、Stateでは部分的にしか機能しないため、問題が見つかったと思います。
「なし」以外のInvestmentCategoryを持つPortfolioItemがあることを確認するには、次のクエリを試すことができます。
https://rally1.rallydev.com/analytics/v2.0/service/rally/workspace/<YOUR WORKSPACE OID HERE>/artifact/snapshot/query.js?find={_TypeHierarchy:"PortfolioItem",InvestmentCategory:{$ne:"None"}}&fields=["InvestmentCategory"]&hydrate=["InvestmentCategory"]
同様に、SDKで試してみると、SnapshotStoreの構成は次のようになります。
{
context: {
workspace: this.context.getWorkspace(),
project: this.context.getProject()
},
rawFind: {
_TypeHierarchy:"PortfolioItem",
InvestmentCategory:{$ne:"None"}
},
fetch: ["InvestmentCategory"],
hydrate: ["InvestmentCategory"]
}
ブラウザのデバッガでサーバーの応答を確認することにより、デバッガでクエリの生の結果を確認できます。Chromeで[ネットワーク]タブに移動すると、右側の[応答]タブで確認できる[クエリ]のエントリが表示されるか、(私が好むように)右クリックして[選択]を選択します。 「新しいタブでリンクを開く」。Chrome拡張機能「JSONViewandJSONLintfor Google Chrome」(https://chrome.google.com/webstore/detail/jsonview-and-jsonlint-for/mfjgkleajnieiaonjglfmanlmibchpam)を使用すると、読みやすくなります。
PortfolioItemのStateフィールドについては、欠陥が見つかったと思います。調査対象のDE15305として入力しました。詳細がわかり次第、ここに投稿します。
編集:
はい、_TypeHierarchyで文字列バージョンのタイプ名を使用して、それらを基になるOIDに解決することができます。理論的には、OIDの使用はわずかに高速であるはずなので、タイプピッカーから取得する場合は優れていますが、ハードコーディングしている場合は、読みやすさのために文字列を使用することで問題ありません。PortflioItemタイプについても正しいです。「PortfolioItem/Strategy」、「PortfolioItem / Feature」などを検索できます(ワークスペースで名前が変更されているかどうかによって異なります)。OIDを使用すると、名前変更から保護できるという利点があります。
クエリフィルターは、rawFindが行うすべての機能をサポートする必要があります。これは、ExtJSスタイルの構文とネイティブのLookback API/MongoDBスタイルの構文のどちらを使用するかという問題です。2つのパフォーマンスの違いはごくわずかであるはずです(私は認めますが、これをマイクロベンチマークでテストしていません)。
欠陥はまだ調査対象のバックログにありますが、現在の理論では、削除された状態が原因である可能性があり、現在の値を使用して値をハイドレイトすることしかできません。これらの外国人には「今日のレンズ」を使用します。キー。将来変更される可能性はありますが、何もお約束できません。申し訳ありません。欠陥が見つかったら、再度更新します。