为什么包含关键字不适用于 rally api 查询

why contains keyword is not working on rally api query

我正在尝试使用以下

查询拉力赛 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 ]

是否包含关键字已弃用?在这种情况下请帮助我。

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

正是 Workspace.ObjectID 毁了你的一天。将其更改为 equals,您应该可以开始了。

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

包含不再支持此类查询,但以前可以。

当我将 'Contains' 替换为 'Equals' as

时它起作用了
 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)));