2017-07-31 9 views
0

私はWorkFront/AtTask APIを使用しています。タスクを検索するときに、特定のロールを含むプロジェクトにフィルタリングしたいと思います。2次オブジェクトを照会するWorkFront/AtTask API

/TASK/search/?fields=project:rolesを使用すると、ロールが表示されますが、それらをフィルタリングする方法がわかりません。 (失敗した)直接

を三次オブジェクトへのアクセス

  • 私は/TASK/search/?project:roles:ID=aaaaaaaを試みたが、APIリターン(422)処理不能エンティティ。

    • 親オブジェクトからのアクセス(作品)

    タスク - >プロジェクト - >/PROJ/search/?roles:ID=aaaaaaa作品は、しかし、コストがかかり、遅いAPIにサブクエリが含まれます。二次オブジェクトのIDフィールド(作品)

/TASK/search/?project:ownerID=bbbbbbbから

  • のアクセスには、二次オブジェクトではなく別の目的のフィールドを参照するので。しかし、私は単一インスタンスの参照でこの作業を行うことしかできず、オブジェクトとして参照することなくコレクションのIDフィールドにアクセスする方法を知らない。


    どのようにして、セカンダリオブジェクトのコレクションをフィルタリングまたはアクセスできますか?私はそれらを単一のAPIクエリで見ることができますが、フィルタリングすることはできません。

    タスク>これは、プロジェクト>ロール

答えて

0

によってフィルタは、私がこれまでの考えることができる最善の解決策はあります:

  1. は、役割に基づいて許容可能なプロジェクトのリストを引き出します。

    • /PROJ/search/?roles:ID=aaaaaa&...
  2. 保存プロジェクトのリストメモリ内

  3. ドンのタスクを削除する質問
    • /TASK/search/?...
  4. 中のタスクのリストをプルstからのプロジェクトIDを持っていないep 2

この方法では2つのクエリしかなく、プロジェクトクエリはサイズとエントリ数の点で最小限の影響を与えます。

1

この機能は、APIやレポートなどの組み込みツールを使用しても、Workfrontでは使用できません。これは、物事のデータベース側の制約が原因です。この質問を読んだ後、私はWorkfrontのエンタープライズサポートチームと話し合い、DBAからこれを確認しました。

あなたが提供した解決策は、このクエリをパラメータの前半と後半に分割し、コード内で結果をフィルタリングすることです。

関連する問題