Gitlab.comアカウントでプロジェクトとリポジトリを作成し、秘密キーを生成しました。現在、コミットリストを取得するためにAPIコールを実行しようとしています。
今、私はAPIからプロジェクトのリストをドキュメントから取得したい https://docs.gitlab.com/ce/api/projects.html#list-projects
GET /projects
だから私はやっている
curl --header "PRIVATE-TOKEN: XXXXXXX -c" "https://gitlab.com/projects"
404を取得します。いくつかの組み合わせを試しましたが、正しいベースURLが見つかりません。
リポジトリのコミット、ドキュメントにも同じ https://docs.gitlab.com/ce/api/commits.html
https://gitlab.example.com/api/v3/projects/5/repository/commits
うまくいきます(プロジェクトIDとしてmyusername/projectnameを使用)https://gitlab.com/api/v3/projects/myusername/projectname/repository/commits
404も取得しました
ホストされているGitLabの正しいベースURLはhttps://gitlab.com/api/v4/
であるため、GET /projects
は
curl --header "PRIVATE-TOKEN: XXXXXX" "https://gitlab.com/api/v4/projects"
また、プロジェクトIDはプロジェクト名と同じではありません。 GET /projects
へのリクエストの応答からプロジェクトIDを取得できます
私にとって、次のリクエストはうまくいきました:
curl --header "PRIVATE-TOKEN: YOUR_TOKEN" "https://gitlab.com/api/v4/users/YOUR_USER_ID/projects"
リクエストの理由がわからない:curl --header "PRIVATE-TOKEN: PRIVATE_TOKEN" "https://gitlab.com/api/v4/projects/"
は、他のいくつかの公開プロジェクトのリストを返しました。
ユーザー情報の別の便利なリクエスト:curl --header "PRIVATE-TOKEN: PRIVATE_TOKEN" "https://gitlab.com/api/v4/user/"
https://docs.gitlab.com/ee/api/#basic-usage
このコマンドを試してください:curl " https://gitlab.example.com/api/v4/projects "ドキュメントに記載されているとおり
Gitlabのバージョン3を使用している場合、curl --header "Authorization:Bearer OAUTH-TOKEN" https://gitlab.example.com/api/v3/projects を使用している場合
Project-nameから簡単にIDを取得できるようにする「python-gitlab」モジュールもあります https://python-gitlab.readthedocs.io/en/stable/