我在运行对 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 --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"
您在单引号中使用了单引号,没有转义字符。