Jira bash curl 在 POST 上返回错误请求到 PR 评论

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

我为此焦头烂额。我正在尝试以下操作:

curl -S https/api.bitbucket.org/2.0/repositories/etc/etc/pullrequests/comments \
-u username:pw
--request POST --header 'Content-Type: application/json' \
-d '{"content": {"text": "'"$logMsg"'"}}'

即使使用 -S 也会返回一个模棱两可的错误请求。 $logMsg 有大量的特殊字符和换行符,它看起来像的一个例子可能是:

"\n\n***HelloThere**  <->:+/"

请注意,无论变量是什么,都应该用双引号引起来。我不知道 bash 是怎么回事以及它如何解释该变量,因为将字符串文字复制并粘贴到邮递员中效果很好。例子:

--data-raw '{"content": { "raw": "\n\n***HelloThere**<->:+/"}}'

我有一种感觉,正在进行一些字符串插值(IE 转向 进入一个实际的换行符)但我不确定如何解决。

bash curl bitbucket jira
1个回答
2
投票

不要尝试手动生成 JSON。使用

jq
.

jq --arg lm "$logMsg" '{content: {text: $lm}}' | curl ... -d @-
© www.soinside.com 2019 - 2024. All rights reserved.