【问题标题】:How to send environment variables using curl如何使用 curl 发送环境变量
【发布时间】:2018-06-29 17:41:53
【问题描述】:

我正在尝试使用 slack 在构建完成或 GitlabCI 上的构建失败时发出通知。我还想做的是附加一个预定义的环境变量 $GITLAB_CI_COMMIT_TITLE 所以连同构建通知我也知道哪个构建完成/失败了

总之,

这行得通

"curl -X POST -H 'Content-type: application/json' --data '{\"text\":\" Client Staging build complete. \n\"}'
https://hooks.slack.com/services/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"

但这不是

"curl -X POST -H 'Content-type: application/json' --data-binary '{
      "'"$CI_COMMIT_TITLE"'" \n\"}'

第二个命令有效,但它没有导出变量的值,我只是在松弛通知中看到“$CI_COMMIT_TITLE”。

我做错了什么?任何帮助将不胜感激!谢谢!

【问题讨论】:

    标签: curl environment-variables


    【解决方案1】:

    我偶然发现了同样的问题,似乎以下解决方案有效:

    curl -X POST -H 'Content-type: application/json'
         --data '{"text": " '"$CI_COMMIT_TITLE"' "}'
    

    希望对你有帮助!

    【讨论】:

      【解决方案2】:

      Ghosts anwser 也为我工作,但想澄清 " 和 ' 之间的空格对于使其正常工作至关重要。

      我尝试了 "'"${CI_COMMIT_TITLE}"'" 并不断收到 http 500 错误,因此该空间似乎是强制性的。

      【讨论】:

        猜你喜欢
        • 2021-12-01
        • 2018-10-03
        • 2014-04-21
        • 2015-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-30
        • 2014-09-01
        相关资源
        最近更新 更多