2017-07-31 40 views
0

我正在使用WorkFront/AtTask API,查找任務時,我想將它們過濾到包含特定角色的項目。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

此功能在Workfront中不可用,無論是通過API還是通過諸如Reports之類的內置工具。這是由於數據庫方面的限制。在看到這個問題後,我與Workfront的企業支持團隊進行了交談,並收到了DBA對此的確認。

您提供的解決方案是您可以做的最好的 - 將此查詢拆分爲參數的前半部分和後半部分,並在代碼中篩選結果。