使用 GitLab,API 列表中缺少项目

使用 GitLab,API 列表中缺少项目

我使用 GitLab API 来获取我有权访问的项目列表(URL /api/v3/projects/all?private_token=xxx),但由于某种原因,有 6-7 个项目未包含在列表中。

编辑:我的用户是管理员,我想列出全部项目如/projects/allURL 所示。

我可以使用 git 本身和 GitLab Web 界面顺利访问项目。有什么建议可以解释为什么项目不会显示在 API 列表中?

所有缺失的项目都比其他项目新。我尝试刷新 API 令牌;没有变化。

版本:

GitLab        6.4.3
GitLab Shell  1.8.0
GitLab API    v3
Ruby          2.0.0p353
Rails         4.0.2

答案1

我刚刚测试了这一点,看起来 GitLab API 响应正在使用分页。根据文档(http://api.gitlab.org),默认每页显示结果数为20,起始页为1。

要调整每页的最大结果数,您需要在 HTTP 请求行中使用变量。如果您的存储库数量超过最大值,也per_page可以使用 更改页码。您可以指定最大值100。pageper_pageper_page

例如,您的请求可能如下所示:

https://git.example.com/api/v3/projects/all?page=1&per_page=100&private_token=abc123

page和变量per_page不是必需的,因为它们具有默认值,因此如果您不想,则不需要包含它们。

希望这能解决您的问题。

答案2

答案3

如果您不确定页数,请按如下方式使用: https://git.example.com/api/v3/projects/all?per_page=-1&private_token=some_token_key

相关内容