如何通过ID检索GitLab问题?

4
我正在尝试追踪一个GitLab问题,无论它位于哪个项目中。
问题通常在GitLab项目的上下文中创建。如果将其移动到另一个项目中,则会关闭该问题并创建一个新问题。原始问题使用“moved_to_id”跟踪新位置。问题在GitLab API v4中如何跟随此“moved_to_id”值是一个问题。GitLab不遵循典型的REST行为,您不能通过其ID检索实体。
例如,如果我调用https://gitlab.com/api/v4/issues/,我将得到一组对象表示的问题列表:这些对象具有一组字段:标题、描述、状态、...、idiidiid是项目内问题的用户友好ID。但是id是什么以及它如何有用?我无法使用此id检索问题-至少不使用预期的方式...
考虑一个问题存在于https://gitlab.com/api/v4/issues/,具有id == 29564819
  1. https://gitlab.com/api/v4/issues/29564819返回404。
  2. https://gitlab.com/api/v4/issues/29564819/返回404。
  3. https://gitlab.com/api/v4/issues/29564819?scope=all返回404
  4. https://gitlab.com/api/v4/issues/?id=29564819返回所有问题(使用参数无效)。
我可以在没有项目的情况下检索问题吗?我必须使用标签吗?

我遇到了类似的问题,我需要列出所有具有给定“id”的问题,但只有“iids []”参数,我不知道是谁设计了这些API...你找到解决方案了吗? - José Pedro
1
说实话,我放弃了。我本来希望互联网天才或GitLab的专家能够提供答案 :) - Cheez
好的,我明白了,无论如何还是谢谢! - José Pedro
2个回答

0
如果用户不是私有项目的成员,则对该项目进行GET请求会导致404状态码。
只有管理员才能通过其ID检索问题。
最好的方法是使用个人访问令牌来完成此操作。
GET /issues/:id

0
我相信可能的原因是你之前提到的API端点可能只限管理员使用,正如单个问题的文档中所述。换句话说,它适用于自托管的GitLab实例。
如果不是这种情况,你应该考虑使用稍微不同的端点,单个项目问题,并指定适当的项目ID和问题IID(而不是ID)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接