如何使用标签 API 在 Gitlab CI 中创建标签?

Posted

技术标签:

【中文标题】如何使用标签 API 在 Gitlab CI 中创建标签?【英文标题】:How can I create a tag in Gitlab CI using Tags API? 【发布时间】:2021-12-03 14:50:07 【问题描述】:

我正在尝试使用标签 API 从作业创建标签。我可以使用工作令牌还是需要私人令牌来做到这一点?当我尝试使用JOB_TOKEN 创建标签时,我得到Invoke-WebRequest : "message":"404 Project Not Found" 作为响应。

$tagName = [Uri]::EscapeDataString($env:FULL_PRODUCT_VERSION)
$ref = [Uri]::EscapeDataString($env:CI_COMMIT_SHA)

$createTagApiEndpoint = "$env:CI_API_V4_URL/projects/$env:CI_PROJECT_ID/repository/tags?tag_name=$tagName&ref=$ref"
$headers = @"JOB-TOKEN" = $env:CI_JOB_TOKEN

Invoke-WebRequest -Headers $headers -Method POST -Uri $createTagApiEndpoint

【问题讨论】:

【参考方案1】:

只有在启用ci_job_token_scope 功能时才能使用JOB_TOKEN,如docs 中所述:

Feature.enable(:ci_job_token_scope)

默认禁用。

【讨论】:

以上是关于如何使用标签 API 在 Gitlab CI 中创建标签?的主要内容,如果未能解决你的问题,请参考以下文章

了解 Gitlab CI 标签

GItlab CI :- 如何使用 Gitlab-CI 在 Android 中创建多个 apk(如开发、登台和生产)?

GitLab CI 使用 API 获取预定义变量?

如何在 gitlab 中触发特定作业

GitLab CI - 添加标签时避免构建

GITLAB CI 管道,仅使用 git 标签运行作业