为什么包含关键字在集会api查询上不起作用

时间:2018-10-16 07:26:41

标签: api rally code-rally

我正在尝试通过以下方式查询Rally api

req.Query = new Query("User.ObjectID", Query.Operator.Equals, loggedinUser.ToString()).And(new Query("Role", Query.Operator.Contains, Role).And(new Query("Workspace.ObjectID", Query.Operator.Contains, workspaceID)).And(new Query("Project.ObjectID", Query.Operator.Equals, projectObjectID)));

但是它抛出错误

The operator [ contains ] is not supported for this attribute type. The available operators are [ =, !=, >, <, >=, <=, in ]

是否包含不推荐使用的关键字?在这种情况下,请帮助我替代。

2 个答案:

答案 0 :(得分:2)

您不能将contains用于对象ID-该属性是数字。 contains保留用于字符串和集合。

特别是Workspace.ObjectID毁了您的一天。将其更改为equals,就可以了。

答案 1 :(得分:1)

按照 https://communities.ca.com/thread/241816885-why-contains-keyword-is-not-working-on-rally-api-query?et=watches.email.outcome

不再支持此类查询,但以前可以使用。

当我将“包含”替换为“等于”时,它可以正常工作

 req.Query = new Query("User.ObjectID", Query.Operator.Equals, loggedinUser.ToString()).And(new Query("Role", Query.Operator.Equals, Role).And(new Query("Workspace.ObjectID", Query.Operator.Equals, workspaceID)).And(new Query("Project.ObjectID", Query.Operator.Equals, projectObjectID)));