回溯API: _ItemHierarchy作用域-忽略禁止的项目

Lookback API: _ItemHierarchy Scoping - Ignore Forbidden Projects

本文关键字:禁止 项目 作用域 API ItemHierarchy 回溯      更新时间:2023-09-26

我一直在尝试通过使用与_ItemHierarchy过滤器结合的Lookback API来查询从RPM下降的用户故事。问题似乎是,Lookback API想要从它所知道的所有项目返回数据,但显然,这包括我没有权限访问的项目。当尝试运行查询时,我得到以下错误:

"Errors":["Server Error: Your request requires access to a workspace or project for which you do not have permission.  Contact your subscription administrator to request permission."]

我想如果有一种方法可以忽略我没有访问权限的所有项目,只是返回我的权限允许我看到的用户故事。(并可能提醒我并非所有的都是可访问的)

至少,我希望有一种方法来捕获API在遇到错误时抛出的TypeError。我尝试使用try/catch块,但在这种情况下似乎没有效果。

这是LookbackAPI的一个已知问题。当人们试图在权限周围使用API时,出现这个问题的方式有几种。

我将在下面详细说明:


结果包含一个您无法访问的工件

在访问Lookback API时,您需要手动指定希望访问的项目。如果您不将请求限制为项目数组或您可以访问的项目列表,则API将尝试为每个项目返回数据。您可以像这样在查询中限制项目:

{
  'Project': {'$in':[1,2]}
}

结果包含一个工件,它曾经在一个项目中,您现在没有访问权限

当故事在项目中移动时,同样的权限问题的第二个也是更狡猾的版本发生了。如果在之前的时间点上,您正在查询的故事之一位于您当前没有权限的项目中,那么您的响应将收到一个错误。

这会导致一些混乱的情况。例如,您可能会在已经结束的项目中的故事中遇到这种情况。如果您在项目关闭之前没有访问该项目,则会显示您对每个项目都有访问权限,并且您的查询仍然存在问题。

我们正在研究如何在权限方面简化Lookback Api的使用。

我们正在学习的一件事是,回顾过去会给企业软件的传统模型增加复杂性。我们在项目中遇到的奇怪边缘案例的数量是一个完美的敏捷案例研究,包含了任何预先计划都无法预料的事情。