You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitLab CI中通过Tags API创建标签?能否使用JOB_TOKEN鉴权?

问题解答

可以直接使用CI_JOB_TOKEN完成Tags API的鉴权,无需使用私有令牌,你遇到的404报错是CI_JOB_TOKEN的默认权限不足导致,并非令牌类型不支持该接口。

解决步骤

  • 进入项目的「设置」-「CI/CD」页面,找到「令牌访问」分区,勾选「允许作业令牌创建和管理标签」选项后保存配置
  • 如果你的CI任务运行在受保护分支上,还需要额外配置权限:进入项目「设置」-「仓库」-「受保护分支」,找到对应分支的编辑选项,开放「CI/CD作业」角色的推送权限
  • 可选优化:POST请求参数建议放在请求体中而非URL查询串,避免编码异常导致的请求失败,修正后的代码示例如下:
$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"
$headers = @{"JOB-TOKEN" = $env:CI_JOB_TOKEN}
$body = @{
    tag_name = $tagName
    ref = $ref
}

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

内容的提问来源于stack exchange,提问作者Aleksey Usatov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:45:01