通过 gitlab api 或 gitlab-cli 获取 gitlab 项目的 `id`

roy*_*yki 5 git curl gitlab gitlab-ci gitlab-ci-runner

有什么办法可以id通过 GitLab API获得项目的一个。

我使用提供项目名称的 GitLab API 创建了一个项目 -

curl -kX POST --header "PRIVATE-TOKEN: <access_token>" https://gitlab.example.com/api/v4/projects/my_app&visibility=internal

它返回预期有类似项目信息的结果links,id,user,namespace等现在我要创建issue或创建branch。我id现在需要这个项目。那么如何检索id我的项目的my_app. (不是来自用户界面)。

我没有找到任何可以创建issue或branch不使用 project 的API 查询id。

我总是需要id 问题 API

POST /projects/:id/issues

同样,我没有找到任何可以id使用该项目检索的 API 查询name

我唯一可以通过 Search API 使用并使用的东西 project name curl -kX GET --header "PRIVATE-TOKEN: <access_token>" https://gitlab.example.com/api/v4/search?scope=projects&search=my_app

但它提供了大量信息。我只需要检索project id. 不知道如何获得项目id?

有蟒蛇,gitlab LIB由我能做的,类似这样的东西使用curl。

  • 获取项目(给出最近的20个项目name,并id在yaml格式)
    • gitlab project list
  • 创建项目
    • gitlab -o yaml project create --name "my_app_cli" --visibility "internal"
    • 创建项目的问题
    • gitlab -o yaml project create-issue --id ID这里我也需要提供id.

但是在这个库中,也没有检索 project 的选项id。与 API 相同,要创建任何分支、问题等,我需要使用id创建的项目。我不想手动放置id在api同时使用或cli

是否有任何解决方法可以通过api或cli使用 project获取 id name?

或者是有什么解决办法创造issue,branch等等,而无需使用id通过api或cli?

Dav*_*lla 9

您可以使用获取单个项目端点。但更一般地说,您不限于使用数字 ID,您实际上可以在 API 调用中使用项目名称:

id:项目的ID或URL编码路径

在您的特定情况下,这应该既可以作为获取 ID 的示例,又可以证明您不一定需要 ID :)

GET /api/v4/projects/my_namespace%2Fmy_app
Run Code Online (Sandbox Code Playgroud)


Izy*_*orr 0

为什么不从项目创建调用的结果中读取 ID?您可以轻松完成,例如使用https://stedolan.github.io/jq/