【GitHub Actions、Bash】curlでPOSTする時のJSONの書き方いろいろ
259 語
1 分
【GitHub Actions、Bash】curlでPOSTする時のJSONの書き方いろいろ
はじまり

リサちゃん
うわあ、どこが悪いんだろおおう

135ml
今回はBashか?

リサちゃん
文法が違うことは分かるんだけど・・・

135ml
どこだっどこだ。
起きた事象
GitHub Actions を使って、別の API に対してcurlを試そうとした時の事です
# ...
- name: Record log run: | curl '${{ env.API_ENDPOINT }}?scriptname=${{ env.MY_SCRIPT_NAME }}&function-name=${{ env.THIS_FUNCTION_NAME }}' \ -X POST \ -H "Content-Type: application/json" \ -d '{"path": "/log", "method": "POST", "client_info": {"id": "${{ env.CLIENT_ID }}", "secret": "${{ env.CLIENT_SECRET }}"}}'
# ...エラー文:
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (6) Could not resolve host: POST-Hcurl: (3) URL using bad/illegal format or missing URLcurl: (3) nested brace in URL position 51:{"path": "/log", "method": "POST", "client_info": {"id": "***", "secret": "***"}} ^Error: Process completed with exit code 3.何が原因だあ?
原因は・・・
改行の前に半角スペースを入れてないからでした🐽
これが正解。
# ...
- name: Record log run: | curl '${{ env.API_ENDPOINT }}?scriptname=${{ env.MY_SCRIPT_NAME }}&function-name=${{ env.THIS_FUNCTION_NAME }}' \ -X POST \ -H "Content-Type: application/json" \ -d '{"path": "/log", "method": "POST", "client_info": {"id": "${{ env.CLIENT_ID }}", "secret": "${{ env.CLIENT_SECRET }}"}}'
# ...なるほど、-Hヘッダーの部分を読み取れないというのはそういうことでしたか。
curlで JSON を書くと煩雑で混乱しがちになります・・・
おしまい

リサちゃん
ああら、そんなことかあ。

135ml
つい、データ部に目が行っちゃうよな
以上になります!
記事を共有
この記事が役に立ったなら、ぜひ他の人と共有してください!
【GitHub Actions、Bash】curlでPOSTする時のJSONの書き方いろいろ
https://endorphinbath.com/posts/github-actions-bash-curl-json-to-post/ 【GAS】「承認が必要です:このプロジェクトがあなたのデータへのアクセス権限を必要としています。」の表示工程を省くようにするスコープ設定
【GitHub Actions、Bash】「curl: (3) URL using bad/illegal format or missing URL」「curl: (3) nested brace in URL」といったエラーメッセージが出た時に試したこと
関連記事 スマート
1
【GitHub Actions、Bash】「curl: (3) URL using bad/illegal format or missing URL」「curl: (3) nested brace in URL」といったエラーメッセージが出た時に試したこと
Code GitHub Actionsでcurlを叩いたときに遭遇したエラーを対処した時の記事になります。うっかりエラーですが、bash初心者だと陥りやすいと思ってこの記事を書きました。
2
【Notion、Bash】Clineで綴るPythonのtypingモジュール完全ガイド
Code Clineで記事を書くために、自分が今まで書いた記事の文体や特徴をまとめるための資料を作る工程を紹介した記事です。NotionからMarkdownをエクスポートしてBashで加工してWordPressで反映します。
3
今年食ったサバ缶のまとめ(2025年版:後編)
Mackerel 2025年に筆者が食べたサバ缶、イワシ缶、サンマ缶などを紹介します。個人的な美味しさ、DHAおよびEPAの含有量の目安なども掲載しています。
4
今年食ったサバ缶のまとめ(2025年版:前編)
Mackerel 2025年に筆者が食べたサバ缶、イワシ缶、サンマ缶などを紹介します。個人的な美味しさ、DHAおよびEPAの含有量の目安なども掲載しています。
5
【Cloud Scheduler】コンテナを動かすために必要なgcloudコマンドをシェル関数化する
Code Google Cloud上でデプロイされたコンテナを操作するためにシェル関数を構築します。その関数には処理が完了した時やエラー発生時に通知を行ったりヘルプ機能も実装します。
ランダム記事 ランダム