質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

Q&A

解決済

1回答

2041閲覧

git リポジトリが取得できない

prslt

総合スコア1

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

0グッド

0クリップ

投稿2022/02/28 08:03

編集2022/03/01 00:31

目的:
社内サーバにあるgitlab の全てのリポジトリ一覧を取得
(最終的には全てのリポジトリ内のファイルから特定の文字列を検索する)

試したこと:
以下のコマンドで8件のリポジトリは取得できるが実際は100件以上ある。
①curl "****/api/v4/projects"
**** gitlabのホストアドレス

上記の①と同じ結果が返る。
②curl "****/api/v4/projects?page=1"

リポジトリは返ってこない。
③curl "****/api/v4/projects?page=2"
% Total (略)
100 (略)--:-- 4[]

トークンを追加するとエラーが返る。
④curl --header "PRIVATE-TOKEN:<my_token>" "****/api/v4/projects"
message":"401 Unauthorized"}

Webからgitlabにアクセスでき、「Explore projects」タブを選択すれば1頁ずつリポジトリを表示できますが手作業では時間がかかりすぎます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ShortArrow

2022/02/28 08:19

社内サーバーなら、直接ストレージを読みに行くとかのほうが速そうですね。 あとはElasticSearchを使うとか。
guest

回答1

0

ベストアンサー

以下のコマンドで8件のリポジトリは取得できるが実際は100件以上ある。
①curl "****/api/v4/projects"
**** gitlabのホストアドレス

正直、これだけの情報では判断が難しいですが推測で...

curl コマンドに認証関係が記載されていませんので、 Public リポジトリだけを表示しているということはないですか?
Public リポジトリが 8件で、それ以外は、Private リポジトリに設定されているとか。

たとえば、認証するアクセストークンを付加して curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects" のようにアクセスするとどうなりますか?

Webからgitlabにアクセスでき、「Explore projects」タブを選択すれば1頁ずつリポジトリを表示できますが手作業では時間がかかりすぎます。

Web ブラウザでアクセスすると 全部見えるのは、 Web ブラウザでは、ユーザーログインしているので Private リポジトリも見えていると...

投稿2022/02/28 08:54

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

prslt

2022/02/28 12:10

回答ありがとうございます。 確かに表示されたリポジトリはPublic権限でした。 記載していただいたようにコマンドを実行すると許可されていないと表示されました。 message":"401 Unauthorized"} トークンはwebで作成したものとFeed tokeで試しましたが結果は同じでした。
prslt

2022/03/01 02:24

正常にリポジトリが返ってきました。 ありがとうございます。 <your_access_token> の<>をつけていた影響でエラーが返っていました。 ?per_page=10&page=1 で区切りをつけないと全て取得できないようですが、目的通りにリポジトリを全て取得できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問