
hurl に渡す変数と jsonpath で取る値の型
結論 hurl の変数はファイルごとに作り直される。hurl login.hurl me.hurl で login.hurl が capture した値は me.hurl に届かず、me.hurl は Undefined variable で exit 3 になる --variable の値は、数字だけなら数値として読まれる。+819098765432 は 819098765432、09012345678 は 9012345678、1.50 は 1.5 として届く。書いた文字のまま渡すなら "..." で囲む --variables-file は値の $VAR も $(...) も展開しない。同じ名前を --variable でも渡すと、渡す順に関係なく --variable の値が使われる 環境変数で届くのは HURL_VARIABLE_<name> と HURL_SECRET_<name> だけで、HURL_<name> は届かない。ファイルで使わない変数を渡しても、エラーも警告も出ない jsonpath の結果は件数で型が変わる。フィルタの一致が 0 件なら値なし (none)、1 件ならその値、2 件以上ならリストになる。1 件の count == 1 は Filter error で落ち、2 件を capture して {{}} で埋め込むと Unrenderable expression で落ちる 値が null なのとキーが無いのは別の状態で、not exists はキーが無いときだけ通る。ただし親が null なら、その下のキーへの not exists は通る 以下は hurl 8.0.1 / bash 5.3.15 / linux/amd64 で実測した。要求は手元で立てたサーバ (/echo は受けた要求の X- ヘッダを JSON で返し、それ以外のパスは同名の JSON ファイルを返す) に送った。 ...