RallyAPI:如何获取使用 .NET api 的项目的用户列表?
RallyAPI: How do I get a list of users for a project using the .NET api?
我正在尝试获取 Rally API 中每个项目的用户列表。似乎将项目 ID 放入请求中不会对结果产生任何限制。我似乎让每个人都订阅了。 'WorkSpace' 和 'Project' 似乎都不起作用。 (我真的很想获得每个项目的每个用户。我知道如何 return 一个项目列表,但用户是个问题)
这是我目前的情况:
Rally.RestApi.Request userRequest = new Request("user");
userRequest.Workspace = WebConfigurationManager.AppSettings["RallyAPIWorkspaceID"];
userRequest.Project = "https://rally1.rallydev.com/slm/webservice/v2.0/project/XXXXXXXXX";
userRequest.Query = new Query("");
QueryResult queryUserResults = restApi.Query(userRequest);
List<SelectListItem> AvailableUsers = new List<SelectListItem>();
foreach (var result in queryUserResults.Results)
{
SelectListItem selectListItem = new SelectListItem();
selectListItem.Text = result["DisplayName"]; // userName
selectListItem.Value = result["_ref"]; // Reference
AvailableUsers.Add(selectListItem);
}
WS API 中的User 对象没有Project 或Workspace 属性,userRequest.Query = new Query("Project", Query.Operator.Equals, someProjectRef)
或userRequest.Project
不会帮助您限制请求。
也许您想查询 ProjectPermission object. ProjectPermission inherits User attribute (a reference to a user) from abstract UserPermission 对象。这并非特定于 Rally .NET 或任何其他语言工具包。
由于 ProjectPermission 查询不能被 Project 绑定,并且将 return 所有 ProjectPermission 对象,您将必须迭代结果并仅获取您感兴趣的那些。
与大多数 WSAPI 端点不同,ProjectPermissions 端点不接受任何查询过滤器。对 运行 来说,这可能是一个危险的查询,因为 this.For 工作区有成千上万的用户和数百个项目,点击这个端点最终可能会创建一个访问数十万行的数据库查询。
我正在尝试获取 Rally API 中每个项目的用户列表。似乎将项目 ID 放入请求中不会对结果产生任何限制。我似乎让每个人都订阅了。 'WorkSpace' 和 'Project' 似乎都不起作用。 (我真的很想获得每个项目的每个用户。我知道如何 return 一个项目列表,但用户是个问题)
这是我目前的情况:
Rally.RestApi.Request userRequest = new Request("user");
userRequest.Workspace = WebConfigurationManager.AppSettings["RallyAPIWorkspaceID"];
userRequest.Project = "https://rally1.rallydev.com/slm/webservice/v2.0/project/XXXXXXXXX";
userRequest.Query = new Query("");
QueryResult queryUserResults = restApi.Query(userRequest);
List<SelectListItem> AvailableUsers = new List<SelectListItem>();
foreach (var result in queryUserResults.Results)
{
SelectListItem selectListItem = new SelectListItem();
selectListItem.Text = result["DisplayName"]; // userName
selectListItem.Value = result["_ref"]; // Reference
AvailableUsers.Add(selectListItem);
}
WS API 中的User 对象没有Project 或Workspace 属性,userRequest.Query = new Query("Project", Query.Operator.Equals, someProjectRef)
或userRequest.Project
不会帮助您限制请求。
也许您想查询 ProjectPermission object. ProjectPermission inherits User attribute (a reference to a user) from abstract UserPermission 对象。这并非特定于 Rally .NET 或任何其他语言工具包。
由于 ProjectPermission 查询不能被 Project 绑定,并且将 return 所有 ProjectPermission 对象,您将必须迭代结果并仅获取您感兴趣的那些。 与大多数 WSAPI 端点不同,ProjectPermissions 端点不接受任何查询过滤器。对 运行 来说,这可能是一个危险的查询,因为 this.For 工作区有成千上万的用户和数百个项目,点击这个端点最终可能会创建一个访问数十万行的数据库查询。