式言語
式言語を使用して条件式を構築し、パイプラインの柔軟性を高めます。
このドキュメントでは、パイプライン構成内のランタイム コンテキストを評価するために設計されたコンパクトで安全なブール式言語について説明します。
この言語で記述された式は true または false のいずれかに評価されます。この言語は、変数、リテラル、比較演算子、論理演算、式のグループ化、および一連の単純な関数の使用をサポートしており、柔軟で正確な条件評価を可能にします。
式言語はどこで使われますか?
式言語は現在、次の用途で使用されています。
例
(var_1 > 100 && var_1 <= 200) || var_2 == "ok" && var_3 == trueglob(var_1, "feature/*") && var_2 != "ok"
式フォーム
ブール値 (
trueまたはfalse) に評価される必要があります。ブール値以外の結果 (例:
"hello world") は無効です。
リテラル
文字列:
"text"数値:
42、3.14ブール値:
true、falsenull: サポートされていません。必要に応じて文字列"null"を使用してください (たとえば、value == "null")。
Variables
変数を名前で直接参照する (
$プレフィックスなし)。
演算子
==— 等式!=— 不等式&&— 論理 AND||— 論理 OR!— 論理 NOT()— グループ化>,>=,<,<=比較演算子
関数
glob() 関数により、トリガー条件での柔軟なパターン マッチングが可能になり、ワイルドカードと中括弧の展開を使用して、ブランチ、タグ、またはその他の変数を一致させることができます。値がパターンと一致する場合は true を返し、それ以外の場合は false を返します。
構文とパラメーター
構文: glob(value, "pattern")
value: テストする変数 (例えば、
BITBUCKET_BRANCH、BITBUCKET_TAG)pattern: 一致する glob パターン (引用符で囲む必要があります。
*、?、などのワイルドカードおよび、{}などの中括弧拡張をサポートします。パターンでは大文字と小文字が区別されます)
動作
glob() 関数は、Pipelines yaml ファイルで glob パターンを使用する場合と同じパターンマッチング ルールに従います。
条件式では glob() と論理演算子 (&&、||、!) を組み合わせて高度な一致を行うことができます。
例:
フィーチャー ブランチとの一致:
glob(BITBUCKET_BRANCH, "feature/*")
「feature/」で始まるすべてのブランチに一致します。バージョン タグとの一致:
glob(BITBUCKET_TAG, "v1.*")
「v1.0」、「v1.1」などのタグに一致します中括弧拡張を使用した複数パターンとの一致:
glob(BITBUCKET_BRANCH, "{main,develop,staging}")
ブランチが「main」、「develop」、「staging」のいずれかである場合に一致します 。glob ** によるすべてとの一致:
glob(BITBUCKET_BRANCH, "**")
任意のブランチ名と一致します。
この内容はお役に立ちましたか?