使用 Gitlab 在 Gitlab 存储库中创建标签 api

Tag creation in Gitlab Repository using Gitlab api

我在 GitLab 中有 4 个存储库,名为 Repo1、Repo2、Repo3 和 Repo4

现在我如何使用 GitLab api 为所有 Repo 的主分支创建标签 v1.0?

使用 POST /projects/:id/repository/tags 创建新标签 API,调用将是:

curl -X POST "https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/repository/tags?tag_name=v1.0&ref=master&release_description='a short description'&private_token=${GITLAB_TOKEN}"

CI_PROJECT_ID替换为

gitlab-org/gitlab issue 119136所示,仅适用于简短的单行标签描述。

这将创建一个轻量级标签。
带注释的标签需要 &message='...' 参数。

您可以看到 alternative call here.

discussion之后,OP确认:

curl -X POST "http://198.x.y.z/api/v4/projects/2345/repository/tags?tag_name=v1.0&ref=master&release_description='first%20tag'&private_token=**************"

(在发布说明中用 %20 替换任何 space)有效。

it works, but showing {"tag_name":"v1.5","description":"'first tag'"},"protected":false}
Can I make this protected as true?

那将需要另一个 API call
示例:

curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/protected_tags?name=*-stable&create_access_level=30"

与:

create_access_level:允许创建的访问级别(默认值:40,维护者访问级别)