shell 更新gitlab中定义的CI/CD变量

lstz6jyr  于 8个月前  发布在  Shell
关注(0)|答案(1)|浏览(103)

我想使用gitlab API(使用curl)更新我的变量。但是我得到下面的错误{“消息”:“401未经授权”}
我有维护者的角色。我也创建了多次访问令牌,但没有任何工作。下面是脚本
新版本=“1234”
curl --request PUT --header“JOB-TOKEN:$CI_JOB_TOKEN”“${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/variables/TEST”--form“value=$NEW_VERSION”
curl --request PUT --header“PRIVATE-TOKEN:\ $token”“${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/variables/TEST --form“value=$NEW_VERSION”
curl --request PUT --header“PRIVATE-TOKEN:$token”“${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/variables/TEST”--form“value=$NEW_VERSION”

ugmeyewa

ugmeyewa1#

错误消息{"message":"401 Unauthorized"}意味着API请求未经过身份验证。这可能有几个原因:

  • 访问令牌无效。确保您已经创建了一个有效的访问令牌,其作用域为api。GitLab文档。
  • 访问令牌不适用于正确的项目。请确保访问令牌用于您尝试在其中更新变量的项目。GitLab文档。
  • 该访问令牌不适用于正确的用户。确保访问令牌是为有权更新变量的用户提供的。

如果您已确认访问令牌有效且适用于正确的项目,则可以再次尝试更新变量。下面是正确的curl命令:

curl --request PUT --header "PRIVATE-TOKEN: $token" "{CI_API_V4_URL}/projects/${CI_PROJECT_ID}/variables/TEST" --form "value=$NEW_VERSION"

$token替换为访问令牌的值,将$NEW_VERSION替换为变量的新值。

相关问题