0

我有一个表单,用户可以根据该条件生成任何条件,我们的系统将从 WorkFront 获取数据。

查询是这样的:

SELECT `name` FROM Project where name = 'test' AND (status = 1 OR status = 2)

查询将由用户生成,因此它可能更复杂,取决于用户。

那么有什么方法可以运行此查询或将其转换为工作前沿可以理解的形式。

我已阅读 workfront 提供的所有过滤器,但没有成功,因为可用的过滤器无法满足我的要求。

4

1 回答 1

1

Workfront 的过滤器不是很先进,我怀疑复杂的查询将无法在 API 的约束下完全实现。您可以通过以下方式查询:

GET https://<url>.my.workfront.com/attask/api/v9.0/PROJ/search?name=<name>&status=<status1>,<status2>&apiKey=<key>

但是,此查询之所以可行,只是因为相对简单,而且您的嵌套条件实际上只是单个搜索的两个有效值(两个状态),可以用逗号表示。如果您对每个嵌套搜索使用至少一个唯一值进行更复杂的查询,例如

SELECT 'name' from PROJECT where (name = 'test' AND status = 'complete') OR (percentageComplete >= 75 AND status = 'blocked')

至少,我想不出在 Workfront 中能做到这一点的方法……这并不意味着真的没有办法做到这一点。

然而,当我需要一个复杂的查询时,我只需分段构建它,然后在我的应用程序中组合数据。例如,在上述情况下,我只需单独运行两个查询,然后在我的代码中组合两个结果集(因为它是 OR)并向我的用户呈现一个统一的数据集,这样他们就不会更明智了对 Workfront 的多个查询。这是我建议您使用的解决方案。

于 2018-04-03T15:26:23.867 回答