Skip to main content

構成YAMLでのビルドトリガー

概要

Bitriseでは、コードのプッシュまたはプルリクエストなどのイベントのトリガー(またはWebhook)を作成して、ビルドを自動的に開始できます。

ソースコードホスティングプロバイダーでWebhookを登録し、ビルドトリガーを設定することで、Bitriseでビルドをトリガーできます。ビルドトリガーを持つ各アプリには、独自のトリガーマップが存在します。 bitrise.yml ファイル。トリガー マップは、ビルド トリガー (そのタイプとトリガー条件を含む) を定義します。

トリガー マップは、基本的にフィルターのリストです。すべてのトリガーは、特定のケースに一致するフィルター項目です。ケースが一致すると、ビルドがトリガーされます。すべてのトリガーには、少なくとも 1 つの条件が含まれている必要があります。

トリガーマップの概要

トリガーマップは、 trigger_map の財産 bitrise.yml ファイル。有効なトリガー マップには少なくとも 1 つのトリガーが必要です。

トリガーには主に 3 つの要素があります。

  • トリガーのタイプ: pushpull_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 プロパティは、以下の表にリストされている値を受け入れます。

表1 すべてのトリガータイプのコンポーネント

成分

説明

許容値

デフォルト値

type

トリガーのタイプ。特定のタイプのトリガーは、そのタイプに属するトリガー条件のみを受け入れます。

  • push

  • pull_request

  • tag

該当なし

enabled

トリガーが現在アクティブかどうかを定義するブール型プロパティ。

  • true

  • false

true

workflow または pipeline

トリガーされるワークフローまたはパイプライン。両方を設定することはできません。

ワークフローまたはパイプラインの正確な名前。

該当なし


表2 コードプッシュトリガーのコンポーネント

成分

説明

デフォルト値

push_branch

ビルドをトリガーするためにコードがプッシュされるリポジトリのブランチ。

*

commit_message

ビルドをトリガーするコミット メッセージ。

*

changed_files

変更によってビルドをトリガーするファイルまたはフォルダーへのパス。

*


表3 プルリクエストトリガーのコンポーネント

成分

説明

デフォルト値

pull_request_source_branch

プル リクエストが開かれるブランチ。

*

pull_request_target_branch

プルリクエストのマージ対象となるブランチ。

*

pull_request_label

プルリクエストのラベル。

*

draft_pull_request_enabled

ドラフト プル リクエストがビルドをトリガーするかどうかを定義するブール プロパティ。

true

pull_request_comment

プルリクエストに投稿されたコメント。

*

commit_message

プル リクエストへのプッシュ内の特定のコミット メッセージ。

*

changed_files

プル リクエストで変更される特定のファイル。

*


表4 タグトリガーのコンポーネント

成分

説明

デフォルト値

tag

タグの値。文字列値または regex 財産。

*