Skip to Content
リファレンス組み込み関数利用可能なフィールドと構文

利用可能なフィールドと構文

Probeの式は expr-lang/expr (v1.17)で評価されます。 このリファレンスに載っている関数は、exprの組み込み関数か、Probeが独自に登録した関数のどちらかです。

式には2つの形があります。

  • テンプレート式 — 文字列中の {{ ... }} を評価結果で置き換えます
  • ブール式 — 式そのものを条件として評価します

利用可能なフィールド

レベルフィールド名テンプレート式ブール式補足
workflowname--ワークフロー名
workflowdescription--ワークフロー説明
workflowvars✅-グローバル変数。環境変数は変数名そのままで参照します
jobname✅-ジョブ名
jobskipif-✅ジョブスルーの条件式
stepname✅-ステップ名
stepwith✅-アクション引数
steptest-✅アサーション
stepecho✅-レポート出力
stepvars✅-ステップ変数
stepoutputs✅-ワークフロー間共有変数
stepskipif-✅ステップスルーの条件式
stepiter--イテレーション変数

関数の構文

関数は直接呼び出すか、パイプ演算子(|)でつなぎます。 パイプは左辺の値を第1引数として渡します。

vars: service: "{{SERVICE_NAME | upper}}" slug: "{{replace(lower(SERVICE_NAME), ' ', '-')}}" path: "{{BASE_URL | trimSuffix('/')}}/api"

演算子

四則演算や比較は関数ではなく演算子で書きます。 add()やmod()のような関数はありません。

+ - * / % ** == != < > && || ! ??(nil合体)in contains startsWith endsWith matches(正規表現)

test: | res.code == 200 && res.headers["Content-Type"] contains "application/json" && rt.sec < 1

評価の制限

式の評価には安全のための上限があります。

  • 式の長さは最大1000000文字
  • 評価のタイムアウトは5秒
  • parse_json、encode_base64、decode_base64、templateは1000000文字を超える引数を、fileは1000000バイトを超えるファイルを受け付けません
  • templateの入れ子は10段まで。1回の結果は1000000文字まで、1つの呼び出しの中で入れ子になった展開の合計は10000000文字まで

関数カテゴリ

更新日時