web-dev-qa-db-ja.com

GitLabを使用すると、プロジェクトがAPIリストに表示されない

GitLab APIを使用して、アクセス可能なプロジェクトのリストを取得します(URL /api/v3/projects/all?private_token=xxx)ですが、何らかの理由でリストに含まれていないプロジェクトが6〜7個あります。

編集:私のユーザーは管理者であり、_all/projects/all URLが示しています。

私は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
18
Nils

私はこれをテストしたところ、GitLab APIレスポンスがページネーションを使用しているようです。ドキュメント( http://api.gitlab.org )によると、ページあたりの結果のデフォルト数は20に設定され、開始ページは1です。

ページごとの最大結果を調整するには、HTTP要求行でper_page変数を使用する必要があります。 per_pageの最大値よりも多くのリポジトリがある場合は、pageを使用してページ番号を変更することもできます。 per_pageの最大値として100を指定できます。

たとえば、リクエストは次のようになります。

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

page変数とper_page変数にはデフォルト値があるため必要ありません。したがって、必要がない場合も含める必要はありません。

うまくいけば、これで問題が解決します。

27
jaseeey

はい、それはあなたが「ページ」パラメータ値を変更し、次のように複数回呼び出す必要があるページネーションで動作します。

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

https://gitlab.example.com/api/v3/projects/all?page=2&per_page=100&private_token=some_token

0
Preet Sindhal