メインコンテンツまでスキップ

レガシーのプロジェクトベーストリガー

レガシートリガー

このページでは、プロジェクトレベルで定義するレガシートリガーについて説明します。新規ユーザーには、より柔軟にトリガーを設計できるWorkflowsおよびPipelinesのレベルで定義するターゲットベースのビルドトリガーの使用を強くおすすめします。詳しくはビルドトリガーの設定をご覧ください。

レガシートリガー(プロジェクトベースのトリガー)は、プロジェクトレベル、つまり設定YAMLファイルの最上位で定義します。トリガーは、特定のコードイベントが発生したときに、どのWorkflowまたはPipelineを実行するかを定義します。1つのコードイベントがトリガーできるビルドは1つだけです。

プロジェクトベースのトリガーを作成するClick to copy link​

プロジェクトベースのトリガーは、プロジェクトレベル、つまり設定YAMLファイルの最上位で定義します。トリガーは、特定のコードイベントが発生したときに、どのWorkflowまたはPipelineを実行するかを定義します。1つのコードイベントがトリガーできるビルドは1つだけです。

  1. Bitrise にアクセスして Log in、左側の Bitrise CI を選択し、プロジェクトを選択します。

  2. メインページの Workflows ボタンをクリックします。

  3. 左側でTriggersを選択します。

  4. Legacy triggersセクションを見つけます。

    TriggersページのLegacy triggersセクション

  5. trigger typeを選択し、Add triggerボタンをクリックします。

    たとえば、プルリクエストイベント用のトリガーを設定する場合は、Pull Requestタブを選択してAdd pull request triggerボタンをクリックします。

  6. ダイアログでトリガーを設定します。

    複数の条件を設定する場合、ビルドを開始するにはすべての条件を満たす必要があります。いずれの条件タイプにも正規表現を使用できます。

    サポートされているトリガー条件の一覧については、こちらをご覧ください。サポートされているトリガー条件。

  7. 完了したら、Add triggerをクリックします。

プロジェクトベースのトリガーを無効にするClick to copy link​

プロジェクトベースのビルドトリガーを無効にするには、次の手順に従います。

  1. BitriseでWorkflow Editorを開きます。

  2. 左側でTriggersを選択します。

  3. 無効にしたいトリガーに応じて、適切なタブを選択します。

    トリガー行にActiveチェックボックスがあるLegacy triggersタブ

  4. Activeチェックボックスのチェックを外してトリガーを無効にします。

プロジェクトベースのトリガーの構文Click to copy link​

プロジェクトベースのトリガーのYAML構文には、主に3つの要素があります。

  • トリガーの種類:push、pull_request、またはtag。
  • トリガー条件。たとえば、プルリクエストのsource branch。
  • トリガーされるWorkflowまたはPipeline。

1つのトリガーは1つのビルドのみをトリガーします。1つのプロジェクトベースのトリガーがトリガーできるのは、1つのWorkflowまたはPipelineだけです。Workflowsを連結する、1つのトリガーから複数のWorkflowsを連続して実行できます。

以下は、任意のブランチからプルリクエストが開かれたときに、primaryWorkflowでビルドをトリガーする単一のトリガーの例です。

trigger_map:
- pull_request_source_branch: "*"
type: pull_request
workflow: primary

複数の条件に一致するトリガーClick to copy link​

プロジェクトベースのトリガーでは、条件が一致する最初のトリガーがビルドをトリガーします。つまり、トリガーの順序が重要です。

trigger_map:
- type: push
push_branch: main
workflow: primary
- type: push
commit_message: deploy
workflow: deploy

最初のトリガーは、appのリポジトリのmainブランチにコードがプッシュされると、primaryWorkflowをトリガーします。

2番目のトリガーは、コミットメッセージがdeployであるコミットが、リポジトリの任意のブランチにプッシュされると、deployWorkflowをトリガーします。

コミットメッセージがdeployであるコミットがmainブランチにプッシュされた場合はどうなるでしょうか。このコミットは最初のトリガーのすべての条件に一致するため、primaryWorkflowがトリガーされます。このシナリオでは、コミットが2番目のトリガーのすべての条件にも一致しているにもかかわらず、deployWorkflowはトリガーされません。

複数のトリガー条件Click to copy link​

1つのプロジェクトベースのトリガーに複数のトリガー条件を定義した場合、ビルドをトリガーするにはすべての条件が一致する必要があります。例:

trigger_map:
- pull_request_target_branch: "main"
pull_request_source_branch: "develop"
type: pull_request
workflow: primary

これは、プルリクエストのsource branchがdevelop、かつターゲットブランチがmainの場合にのみ、primaryワークフローを選択します。

プロジェクトベースのトリガーのコンポーネントClick to copy link​

このページに記載されているコンポーネントは、レガシーのプロジェクトベースのトリガーに対して有効です。

コンポーネント説明使用できる値Default value
typeプロジェクトベースのトリガーの種類を定義します。特定の種類のトリガーは、その種類に属するトリガー条件のみを受け付けます。- push - pull_request - tagN/A
enabledトリガーが現在有効かどうかを定義するブール値のプロパティです。- true - falsetrue
workflowまたはpipelineトリガーされるWorkflowまたはPipelineです。両方を設定することはできません。WorkflowまたはPipelineの正確な名前。N/A
コンポーネント説明Default value
push_branchビルドをトリガーするためにコードがプッシュされるリポジトリのブランチです。*
commit_messageビルドをトリガーするコミットメッセージです。*
changed_files変更によってビルドをトリガーするファイルまたはフォルダーへのパスです。*
コンポーネント説明Default value
pull_request_source_branchプルリクエストの作成元のブランチです。*
pull_request_target_branchプルリクエストのマージ先ブランチです。GitHubスタック内のプルリクエストの場合、Bitriseはこれをスタックのベースブランチと照合します。*
pull_request_labelプルリクエストのラベルです。*
draft_pull_request_enabledドラフトのプルリクエストでビルドをトリガーするかどうかを定義するブール値のプロパティです。true
pull_request_commentプルリクエストに投稿されたコメントです。*
commit_messageプルリクエストへのプッシュにおける特定のコミットメッセージです。*
changed_filesプルリクエストで変更される特定のファイルです。*

| コンポーネント | 説明 | Default value | | --- | --- | | tag | タグの値です。文字列値またはregexプロパティを使用できます。 | * |