構成YAMLでのビルドトリガー
Bitriseでは、コードのプッシュまたはプルリクエストなどのイベントのトリガー(またはWebhook)を作成して、ビルドを自動的に開始できます。
ソースコードホスティングプロバイダーでWebhookを登録し、ビルドトリガーを設定することで、Bitriseでビルドをトリガーできます。ビルドトリガーを持つ各アプリには、独自のトリガーマップが存在します。 bitrise.yml
ファイル。トリガー マップは、ビルド トリガー (そのタイプとトリガー条件を含む) を定義します。
トリガー マップは、基本的にフィルターのリストです。すべてのトリガーは、特定のケースに一致するフィルター項目です。ケースが一致すると、ビルドがトリガーされます。すべてのトリガーには、少なくとも 1 つの条件が含まれている必要があります。
トリガーマップの概要
トリガーマップは、 trigger_map
の財産 bitrise.yml
ファイル。有効なトリガー マップには少なくとも 1 つのトリガーが必要です。
トリガーには主に 3 つの要素があります。
-
トリガーのタイプ:
push
、pull_request
、 またはtag
。 -
トリガー条件。たとえば、プル リクエストのソース ブランチなど。
-
トリガーされるワークフローまたはパイプライン。
1つのトリガーは1つのビルドを意味します。1つのトリガーは1つのワークフローまたはパイプラインのみをトリガーできます。 ワークフローを連結する 単一のトリガーから複数のワークフローを連続して実行します。
以下は、ビルドをトリガーする単一のトリガーです。 primary
任意のブランチからプル リクエストが開かれたときのワークフロー。
trigger_map: - pull_request_source_branch: "*" type: pull_request workflow: primary
複数のトリガー条件
1 つの項目に複数のトリガー条件を定義した場合、ビルドをトリガーするにはすべての条件が一致する必要があります。例:
trigger_map: - pull_request_target_branch: "main" pull_request_source_branch: "develop" type: pull_request workflow: primary
これにより、 primary
プルリクエストのソースブランチが develop
かつ、ターゲットブランチは main
。
トリガーの順序
トリガーの順序は重要です。条件が一致する最初のトリガーがビルドをトリガーします。たとえば、コード プッシュ トリガーが 2 つあるとします。
trigger_map: - type: push push_branch: main workflow: primary - type: push commit_message: deploy workflow: deploy
最初のトリガーは primary
コードがプッシュされた場合のワークフロー main
アプリのリポジトリのブランチ。
2番目のトリガーは deploy
コミットメッセージ付きのコミットの場合のワークフロー deploy
リポジトリの任意のブランチにプッシュされます。
コミットがプッシュされると何が起こるか main
コミットメッセージ付きのブランチ deploy
? コミットは最初のトリガーのすべての条件に一致するので、 primary
ワークフローがトリガーされます。このシナリオでは、 deploy
コミットがそのトリガーのすべての条件に一致しているにもかかわらず、ワークフローはトリガーされません。
ワイルドカードと正規表現
ワイルドカード(*
)はトリガー内での単純なテキストマッチングに使用できます。ワイルドカードは、正規表現の高度なパターンマッチング機能を必要としない場合に適しています。たとえば、 fix
ワイルドカードを使用して実現できます。
ワイルドカードは、入力に含まれる特定の固定値を一致させるのに役立ちます。複数の代替値、否定、特定の文字グループまたは特定の文字タイプ (たとえば、数字のみ) のキャプチャが必要な場合は、正規表現を使用することをお勧めします。
トリガー条件に正規表現を使用するには、 regex:
次の形式で値を入力します。
trigger_map: - type: push push_branch: regex: <regular expression> workflow: primary - type: pull_request pull_request_source_branch: regex: <regular expression>
トリガーマップのコンポーネント
の trigger_map
プロパティは、以下の表にリストされている値を受け入れます。
成分 |
説明 |
許容値 |
デフォルト値 |
---|---|---|---|
|
トリガーのタイプ。特定のタイプのトリガーは、そのタイプに属するトリガー条件のみを受け入れます。 |
|
該当なし |
|
トリガーが現在アクティブかどうかを定義するブール型プロパティ。 |
|
|
|
トリガーされるワークフローまたはパイプライン。両方を設定することはできません。 |
ワークフローまたはパイプラインの正確な名前。 |
該当なし |
成分 |
説明 |
デフォルト値 |
---|---|---|
|
ビルドをトリガーするためにコードがプッシュされるリポジトリのブランチ。 |
|
|
ビルドをトリガーするコミット メッセージ。 |
|
|
変更によってビルドをトリガーするファイルまたはフォルダーへのパス。 |
|
成分 |
説明 |
デフォルト値 |
---|---|---|
|
プル リクエストが開かれるブランチ。 |
|
|
プルリクエストのマージ対象となるブランチ。 |
|
|
プルリクエストのラベル。 |
|
|
ドラフト プル リクエストがビルドをトリガーするかどうかを定義するブール プロパティ。 |
|
|
プルリクエストに投稿されたコメント。 |
|
|
プル リクエストへのプッシュ内の特定のコミット メッセージ。 |
|
|
プル リクエストで変更される特定のファイル。 |
|
成分 |
説明 |
デフォルト値 |
---|---|---|
|
タグの値。文字列値または |
|