2017-07-31 118 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对此的确认。

您提供的解决方案是您可以做的最好的 - 将此查询拆分为参数的前半部分和后半部分,并在代码中筛选结果。