Gitlab ci赢得';t替换curl中的变量

Gitlab ci赢得';t替换curl中的变量,gitlab,gitlab-ci,gitlab-ci-runner,Gitlab,Gitlab Ci,Gitlab Ci Runner,我的gitlab yml文件中有以下脚本: 脚本: -“curl-X POST-H'内容类型:application/json'--data'{\'tag\':\“${CI\'u COMMIT\'u tag}\”,\'projectId\':\“${PROJECT\'u ID}”http://localhost:1337/slack"** 比如说,当我在gitlab上创建名为“testing-v1”的标记时,变量$CI_COMMIT_tag应该是“testing-v1”,但它是按原样显示的。

我的gitlab yml文件中有以下脚本:

脚本:
-“curl-X POST-H'内容类型:application/json'--data'{\'tag\':\“${CI\'u COMMIT\'u tag}\”,\'projectId\':\“${PROJECT\'u ID}”http://localhost:1337/slack"**
比如说,当我在gitlab上创建名为“
testing-v1
”的标记时,变量
$CI_COMMIT_tag
应该是“
testing-v1
”,但它是按原样显示的。
它不会取代

如果我像这样硬编码标签名和项目id

- "curl -X POST -H 'Content-type: application/json' --data '{\"tag\":\"testing-v1\", \"projectId\":\"1111111\"}' http://localhost:1337/slack"**

它正在工作。

如果复制粘贴
curl
行(没有第一个和最后一个双引号),则会指向您

表达式不以单引号展开,请使用双引号。 单引号防止扩展所有内容,包括变量和命令替换

如果要使用变量等的值,请改用双引号。 请注意,如果您有其他项目需要单引号,您可以在一个单词中同时使用这两个词:

echo '$1 USD is '"$rate GBP"
请参见以下示例:

image:ruby:2.3
阶段:
-清除缓存
CLOUDFLARE\u URL:https://api.cloudflare.com/client/v4/zones/$zone/purge\u缓存
电子邮件:“X-Auth-EMAIL:$EMAIL”
验证:“X-AUTH-Key:$Key”
内容:“内容类型:应用程序/json”
清除缓存:
阶段:清除缓存
脚本:
-curl-X POST“${CLOUDFLARE\u URL}”-H“${EMAIL}”-H“${AUTH}”-H“${CONTENT}”--数据“{”清除所有内容“:true}”
仅:
-主人

感谢您分享答案,但仍然无效。@DreamSpec您收到了什么错误消息?没有错误消息,但我正在使用该请求正文(curl)从Node.js服务器发送另一个get请求,但标记和项目id未定义