web-dev-qa-db-ja.com

CURLを使用してGitLabの問題にアクセスする方法

プロジェクトYYYYYYとユーザー名XXXXXXの問題のリストを入手したいと思います。

curl --header "PRIVATE-TOKEN: myownprivatetoken" "https://gitlab.com/api/v3/projects/YYYYYY/issues"

curl --header "PRIVATE-TOKEN: myownprivatetoken" --header "Sudo: XXXXXX" "https://gitlab.com/api/v3/projects/YYYYYY/issues"

curl --header "PRIVATE-TOKEN: myownprivatetoken" "https://gitlab.com/api/v3/XXXXXX/projects/YYYYYY/issues"

しかし、彼らは返すだけです:

{"message":"404 Project Not Found"}

または

<html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html>

http://doc.gitlab.com/ce/api/issues.htmlhttp://doc.gitlab.com)のAPIドキュメントを誤って解釈しているようです/ce/api/README.html

だから私は何が間違っているのですか?

20
Edward

ドキュメントでは、プロジェクトから問題を取得する方法について次のように説明しています。

GET /projects/:id/issues

そしてあなたは試しました:

curl --header "PRIVATE-TOKEN: xxx" "https://gitlab.com/api/v3/projects/YYYYYY/issues"

これは正しいですが、YYYYYYに指定するパラメーターはプロジェクトIDである必要があるため、プロジェクトのテキストではなく整数である必要があります名前またはパス。あなたは次のようなものを使う必要があります:

curl --header "PRIVATE-TOKEN: xxx" "https://gitlab.com/api/v3/projects/234/issues"

どこ 234はプロジェクトのIDです。プロジェクトのこの整数IDを取得するには、単に:

curl --header "PRIVATE-TOKEN: xxx" "https://gitlab.com/api/v3/projects

これにより、すべてのプロジェクトが一覧表示され、idフィールドにプロジェクトの一意の整数識別子が表示されます。

[
  {
    "id": 4,            <-------- //This one
    "name": "my super mega project",
    "description": null,
    .....
11
PierreF

GitLab v11.x以降、/ api/v3はエラー"API V3 is no longer supported. Use API V4 instead."を返します

バージョンv11およびv12では、これは機能します。

curl --header 'PRIVATE-TOKEN: mySecret' https://gitlab.com/api/v4/projects
/2/merge_requests

出力を解析します(そのためにはjqをお勧めします):

[
  {
    "id": 2,            <-------------- use this number below
    "name": "Duke Nukem 3D",

その後:

curl --header 'PRIVATE-TOKEN: mySecret' https://gitlab.com/api/v4/projects/2/issues
0
kubanczyk