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


18

我使用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

Answers:


27

我刚刚对此进行了测试,看来GitLab API响应正在使用分页。根据文档(http://api.gitlab.org),每页的默认结果数设置为20,起始页数为1。

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

例如,您的请求可能看起来像:

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

pageper_page变量不需要,因为他们有默认值,所以你不需要任何包括,如果你不想。

希望这可以解决您的问题。


的确如此!我现在感到懒惰和愚蠢;)非常感谢!
Nils,2014年

没问题,我自己也学到了一课:)
jaseeey 2014年

1
有什么办法可以退还超过100?我的用户活动结果远远超过100,但api仅返回最大值
100。– emmdee

通过查看API文档,看起来所per_page允许的最大值为100。请参阅:docs.gitlab.com/ce/api/README.html#pagination
jaseeey


-1

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


没有列出所有项目...仅给出默认的20条记录
Saurabh

和我一样。仅在首页中显示默认的20个项目
-Marslo

不执行任何操作,仅返回默认值20
Ivan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.