GitLab CI curl 命令失败

问题描述 投票:0回答:1

我在运行对 GitLab 的 API 调用以更新 GitLab 实例中的组变量时遇到问题。

在本地运行时运行下面的命令工作正常,但我在使用 GitLab 管道运行相同的命令时遇到问题。

curl --request PUT \
      --header "PRIVATE-TOKEN: $GITLAB_API_TOKEN" \
      --header "Content-Type: application/json" \
      --data "$token" \
      "https://$GILAB_URL/api/v4/groups/$GITLAB_GROUP/variables/VARIABLE"

也尝试过

curl --request PUT --header "PRIVATE-TOKEN: $GITLAB_API_TOKEN" --header "Content-Type: application/json" --data '{"value": "'$token'"}' "https://$GILAB_URL/api/v4/groups/$GITLAB_GROUP/variables/VARIABLE"

来自 GitLab 管道的错误消息:

{"message":{"value":["is invalid"]}}

当我在curl命令中对令牌值进行硬编码时,它也有效。 $token 的价值“与此类似”

eyJ9ZXGiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiJLNlh5ZFJFZlhJTmNuaDM1WVRsTlFZajNUSDBKQk1MN0VLRWJCLWIz0ENZIn0.eyJzdWIiOiJjMy1vaWRjL2NhdGNoLWFsbCIsInNjcCI6ImFwcGxpZWFiTcGVybWlzc2lvbnMvZ3JvdXBzOlwiZDAzCjUyOTctMWQ0ZS00RGFiLTlkNDEtNDgwZDBkMDk3KuWRiXCIsXCI1OTYzNGRjOC04YzMwLTRlMGUtOThkNC05NDFhOGQ5MTgxNWJcIiwiLCJhdWQiOlsiamZydEAqIiwiamChY0AqIiwiamZtY0AqIiwiamZtZEAqIiwiamZldnRAKiIsImpmeGZlckAqIiwiamZsbmtABosYImpmaW50QCoiLCJqZndrc0AqIl0sImlzcyI6ImpmYWNAMDFlcHk2Zm1xcXJtNWQwdjRyNWdhZTE5cmIiLCJleHAiOjE3MzAzNjU0NjUsImlhdCI6MTczMDM2NTE2NSwAPpIjoiMDdjZTlmZDQtOWQwYS00YmEwLTk3OTYtNWRhZGNlYmQxYTc2In0.FyQ2f1QIRkX3ZeXX2hkgtk1ilZxFFCh6CnRPEufyvaXDLeryvMRGjW73phj45aQiO9MWEHPSDbFVQuKTtxgZUSqZDY7V0osz28OMW5if1tMgOlHkrjre06K37Afbi8UkKvNA-fLn8s0eMut8a6sotKagH8Z5BACG4ziLY7TTQfUTIZSOxMNHyWRrbdSvBL-Nh-4FziCaAY6WdojeZNOpoWp9PLJQrYwEpKrBJ08IYT6Ie5JP2IdFga5ZP4lqc6pLPXfnnU1MBn94HdUVlhFfZUYmlJpD_U4mSA8L5aBgrrw7epUgNRKhCHdJoOhONoCgli5WmqR9NvLBEP53Q5yvCB

如有任何帮助,我们将不胜感激。 谢谢!

  • 通过将curl命令中的令牌值替换为$token来对令牌值进行硬编码
  • 在 (mac) 上本地工作/gitlab 运行器使用 ubuntu。
curl jwt gitlab-ci
1个回答
0
投票

尝试下面的方法就可以了

curl --request PUT \
     --header "PRIVATE-TOKEN: $GITLAB_API_TOKEN" \
     --header "Content-Type: application/json" \
     --data "{\"value\": \"$token\"}" \
     "https://$GITLAB_URL/api/v4/groups/$GITLAB_GROUP/variables/VARIABLE"

您在单引号中使用了单引号,没有转义字符。

© www.soinside.com 2019 - 2024. All rights reserved.