【问题标题】:WorkFront / AtTask API querying secondary objectsWorkFront / AtTask API 查询辅助对象
【发布时间】:2017-07-31 14:11:46
【问题描述】:

我正在使用 WorkFront / AtTask API,在查找任务时,我想将它们过滤到包含特定角色的项目中。

使用/TASK/search/?fields=project:roles 它将向我显示角色,但我不确定如何过滤这些角色。

  • 直接访问第三对象(失败)

我尝试了/TASK/search/?project:roles:ID=aaaaaaa,但 API 返回 (422) Unprocessable Entity。

  • 从父对象访问(有效)

task -> project -> /PROJ/search/?roles:ID=aaaaaaa 有效,但涉及对 API 的子查询,成本高且速度慢。

  • 从辅助对象的 ID 字段访问(作品)

/TASK/search/?project:ownerID=bbbbbbb 因为它引用了辅助对象的字段,而不是另一个对象。但是我只能使用单实例引用来完成这项工作,并且不知道如何在不将它们作为对象引用的情况下访问集合的 ID 字段。


那么我如何过滤或访问辅助对象的集合呢?我可以在单个 API 查询中查看它们,但似乎无法过滤。

任务 > 这是项目 > 按角色过滤

【问题讨论】:

    标签: api attask workfront-api


    【解决方案1】:

    此功能在 Workfront 中不可用,无论是通过 API 还是通过报表等内置工具。这是由于数据库方面的限制。看到这个问题后,我与 Workfront 的企业支持团队进行了交谈,并收到了 DBA 的确认。

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

    【讨论】:

      【解决方案2】:

      目前我能想到的最佳解决方案是:

      1. 根据角色拉取可接受项目的列表。

        • /PROJ/search/?roles:ID=aaaaaa&...
      2. 将项目列表保存在内存中

      3. 拉出有问题的任务列表
        • /TASK/search/?...
      4. 从第 2 步中删除没有项目 ID 的任务

      这样,它只有 2 个查询,项目查询对条目的大小和数量的影响应该很小。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多