0

ビルド/デプロイ ログの出力をキャプチャし、Jira の REST API と CURL を使用して Jira チケットに挿入しようとする BASH スクリプトがあります。

curl -v  -X POST \
-H "Content-Type: application/json" \
--data "@header.json" \
--data "@log.txt" \
--data "@footer.json" \
-H "Authorization:Basic ABC123!@#" \
https://companyname.jira.com/rest/api/latest/issue/FOO-1234/comment

私の問題は、ログにあらゆる種類の JSON トークンが含まれているため、挿入が失敗することです。すべての不正な文字をエスケープするために投稿する前に BASH からテキスト blob をクリーンアップする方法はありますか? または、「このブロックでは何も解析しない」などと言う方法はありますか? 最悪の場合、本当に恐ろしい AWK を書きます。

4

2 に答える 2

0

むかしむかし、curl を使用して POST データを送信するために、このコード スニペットを使用しました。

urlquote() {
    echo -ne "$1" | xxd -plain | tr -d '\n' | sed 's/\(..\)/%\1/g'
}

ユニコードのものでもうまく機能します。多分これは助けになるでしょう。

于 2013-08-26T21:42:57.697 に答える