

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ワークフローへのトリガーの追加
<a name="workflows-add-trigger-add"></a>

Amazon CodeCatalyst ワークフローにプッシュ、プル、またはスケジュールのトリガーを追加するには、次の手順に従います。

トリガーについての詳細は、「[トリガーを使用したワークフロー実行の自動的な開始](workflows-add-trigger.md)」を参照してください。

------
#### [ Visual ]<a name="workflows-add-trigger-add-console"></a>

**トリガーを追加するには (ビジュアルエディタ)**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. プロジェクトを選択します。

1. ナビゲーションペインで **[CI/CD]**、**[ワークフロー]** の順に選択します。

1. ワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

1. **[編集]** を選択します。

1. **[ビジュアル]** を選択します。

1. ワークフロー図で、**[ソース]** ボックスと **[トリガー]** ボックスを選択します。

1. 構成ペインで **[トリガーを追加]** を選択します。

1. **[トリガーを追加]** ダイアログボックスで、次のようにフィールドに情報を入力します。

    **トリガータイプ** 

   トリガーのタイプを指定します。次のいずれかの値を使用できます。
   + **プッシュ** (ビジュアルエディタ) または `PUSH` (YAML エディタ）

     プッシュトリガーでは、変更がソースリポジトリにプッシュされたときにワークフロー実行を開始します。ワークフロー実行では、プッシュ*先*のブランチ (つまり、送信先ブランチ) 内のファイルが使用されます。
   + **プルリクエスト** (ビジュアルエディタ) または `PULLREQUEST` (YAML エディタ）

     プルリクエストトリガーでは、プルリクエストがソースリポジトリでオープン、更新、またはクローズされたときにワークフロー実行を開始します。ワークフロー実行では、プル*元*のブランチ (つまり、送信元ブランチ) 内のファイルが使用されます。
   + **スケジュール** (ビジュアルエディタ) または `SCHEDULE` (YAML エディタ）

     スケジュールトリガーでは、指定した cron 式で定義されているスケジュールに従ってワークフロー実行を開始します。ブランチのファイルを使用して、ソースリポジトリ内のブランチごとに個別のワークフロー実行が開始されます (トリガーがアクティブ化するブランチを制限するには、**[ブランチ]** フィールド (ビジュアルエディタ) または `Branches` プロパティ (YAML エディタ) を使用します)。

     スケジュールトリガーを構成するときは、次のガイドラインに従ってください。
     + ワークフロー 1 つにつきスケジュールトリガーを 1 つだけ使用してください。
     + CodeCatalyst スペース内で複数のワークフローを定義している場合は、同時に開始するようスケジュールするワークフローは 10 個までにすることをお勧めします。
     + トリガーの cron 式を設定する際は、実行間隔に十分な時間を確保してください。詳細については、「[Expression](workflow-reference.md#workflow.triggers.expression)」を参照してください。

   例については「[例: ワークフローのトリガー](workflows-add-trigger-examples.md)」を参照してください。

    **プルリクエストのイベント** 

   **[プルリクエスト]** トリガータイプを選択した場合のみこのフィールドが表示されます。

   ワークフロー実行を開始するプルリクエストイベントのタイプを指定します。有効な値を次に示します。
   + **プルリクエストが作成されました** (ビジュアルエディタ) または `OPEN` (YAML エディタ）

     プルリクエストが作成されるとワークフロー実行が開始されます。
   + **プルリクエストはクローズされました** (ビジュアルエディタ) または `CLOSED` (YAML エディタ）

     プルリクエストがクローズされるとワークフロー実行が開始されます。`CLOSED` イベントの動作は理解が難しいため、例を見ることで最もよく理解できます。詳細については「[例: プル、ブランチ、および「CLOSED」イベントを含むトリガー](workflows-add-trigger-examples.md#workflows-add-trigger-examples-push-pull-close)」を参照してください。
   + **プルリクエストに対して新しいリビジョンが作成されます** (ビジュアルエディタ) または `REVISION` (YAML エディタ)

     プルリクエストに対してリビジョンが作成されるとワークフロー実行が開始されます。プルリクエストが作成されると最初のリビジョンが作成されます。その後、プルリクエストで指定されたソースブランチに新しいコミットがプッシュされるたびに、新しいリビジョンが作成されます。プルリクエストトリガーに `REVISION` イベントを含める場合、`REVISION` は `OPEN` のスーパーセットであるため、`OPEN` イベントは省略しても構いません。

   同じプルリクエストトリガー内で複数のイベントを指定できます。

   例については「[例: ワークフローのトリガー](workflows-add-trigger-examples.md)」を参照してください。

    **スケジュール** 

   **[スケジュール]** トリガータイプを選択した場合のみこのフィールドが表示されます。

   スケジュールされたワークフロー実行をいつ実行するかを記述する cron 式を指定します。

   CodeCatalyst の cron 式では次の 6 フィールド構文を使用します。各フィールドはスペースで区切られます。

   *分* *時間* *日* *月* *曜日* *年*

   **cron 式の例**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/codecatalyst/latest/userguide/workflows-add-trigger-add.html)

   CodeCatalyst で cron 式を指定する場合は、次のガイドラインに従ってください。
   + `SCHEDULE` トリガー 1 つにつき cron 式を 1 つ指定してください。
   + YAML エディタでは cron 式を二重引用符 (`"`) で囲んでください。
   + 協定世界時 (UTC) で時間を指定します。他のタイムゾーンはサポートされていません。
   + 実行間隔を 30 分以上に設定します。これより短い間隔はサポートされていません。
   + *[日]* フィールドと *[曜日]* フィールドのいずれかを指定します。両方を指定することはできません。一方のフィールドに値または アスタリスク (`*`) を指定する場合、もう一方のフィールドでは 疑問符 (`?`) を使用する必要があります。アスタリスクは「すべて」を意味し、疑問符は「いずれか」を意味します。

    cron 式のその他の例、および `?`、`*`、`L` などのワイルドカードの情報については、「*Amazon EventBridge ユーザーガイド*」の「[Cron expressions reference](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html)」を参照してください。EventBridge と CodeCatalyst で cron 式はまったく同じように動作します。

   スケジュールトリガーの例については、「[例: ワークフローのトリガー](workflows-add-trigger-examples.md)」を参照してください。

    **[ブランチ]** と **[ブランチパターン]** 

   (オプション)

   ワークフロー実行を開始するタイミングを把握するために、トリガーがモニタリングするソースリポジトリ内のブランチを指定します。正規表現パターンを使用してブランチ名を定義できます。例えば、`main` で始まるすべてのブランチを照合するには `main.*` を使用します。

   指定するブランチはトリガータイプによって異なります。
   + プッシュトリガーでは、プッシュ*先*するブランチ、つまり*送信先*ブランチを指定します。一致するブランチ内のファイルを使用して、一致するブランチごとに 1 つのワークフロー実行が開始されます。

     例: `main.*`、`mainline`
   + プルリクエストトリガーでは、プッシュ*先*のブランチ、つまり*送信先*ブランチを指定します。ワークフロー定義ファイルと**ソース**ブランチ内のソースファイル (一致するブランチ*ではない*) を使用して、一致するブランチごとに 1 つのワークフロー実行が開始されます。

     例: `main.*`、`mainline`、`v1\-.*` (`v1-` で始まるブランチと一致)
   + スケジュールトリガーでは、スケジュールされた実行で使用するファイルを含むブランチを指定します。ワークフロー定義ファイルと一致するブランチ内のソースファイルを使用して、一致するブランチごとに 1 つのワークフロー実行が開始されます。

     例: `main.*`、`version\-1\.0`
**注記**  
ブランチを指定*しない*場合、トリガーはソースリポジトリ内のすべてのブランチをモニタリングし、次の場所にあるワークフロー定義ファイルとソースファイルを使用してワークフロー実行を開始します。  
プッシュ*先*のブランチ (プッシュトリガーの場合)。詳細については、「[例: シンプルなコードプッシュトリガー](workflows-add-trigger-examples.md#workflows-add-trigger-examples-push-simple)」を参照してください。
プル*元*のブランチ (プルリクエストトリガーの場合)。詳細については、「[例: シンプルなプルリクエストトリガー](workflows-add-trigger-examples.md#workflows-add-trigger-examples-pull-simple)」を参照してください。
すべてのブランチ (スケジュールトリガーの場合)。ソースリポジトリ内のブランチごとに 1 つのワークフロー実行が開始されます。詳細については、「[例: シンプルなスケジュールトリガー](workflows-add-trigger-examples.md#workflows-add-trigger-examples-schedule-simple)」を参照してください。

   ブランチとトリガーの詳細については、「[トリガーとブランチの使用ガイドライン](workflows-add-trigger-considerations.md)」を参照してください。

   その他の例については、「[例: ワークフローのトリガー](workflows-add-trigger-examples.md)」を参照してください。

    **変更されたファイル** 

   **[プッシュ]** または **[プルリクエスト]** トリガータイプを選択した場合のみこのフィールドが表示されます。

   ワークフロー実行を開始するタイミングを把握するために、トリガーがモニタリングするソースリポジトリ内のファイルかフォルダを指定します。正規表現を使用して、ファイルの名前またはパスを照合できます。

   例については「[例: ワークフローのトリガー](workflows-add-trigger-examples.md)」を参照してください。

1. (省略可) **[検証]** を選択して、ワークフローの YAML コードをコミットする前に検証します。

1. **[コミット]** を選択し、コミットメッセージを入力し、再度 **[コミット]** を選択します。

------
#### [ YAML ]

**トリガーを追加するには (YAML エディタ)**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. プロジェクトを選択します。

1. ナビゲーションペインで **[CI/CD]**、**[ワークフロー]** の順に選択します。

1. ワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

1. **[編集]** を選択します。

1. **[YAML]** を選択します。

1. 次の例を参考にして、`Triggers` セクションとベースとなるプロパティを追加します。詳細については、「[ワークフロー YAML 定義](workflow-reference.md)」の「[Triggers](workflow-reference.md#triggers-reference)」を参照してください。

   コードプッシュトリガーは次のようになります。

   ```
   Triggers:
     - Type: PUSH
       Branches:
         - main
   ```

   プルリクエストトリガーは次のようになります。

   ```
   Triggers:
     - Type: PULLREQUEST
       Branches:
         - main.*
       Events: 
         - OPEN
         - REVISION
         - CLOSED
   ```

   スケジュールトリガーは次のようになります。

   ```
   Triggers:
     - Type: SCHEDULE
       Branches:
         - main.*
       # Run the workflow at 1:15 am (UTC+0) every Friday until the end of 2023
       Expression: "15 1 ? * FRI 2022-2023"
   ```

   `Expression` プロパティで使用できる cron 式のその他の例については、「[Expression](workflow-reference.md#workflow.triggers.expression)」を参照してください。

   プッシュ、プルリクエスト、スケジュールの各トリガーのその他の例については、「[例: ワークフローのトリガー](workflows-add-trigger-examples.md)」を参照してください。

1. (省略可) **[検証]** を選択して、ワークフローの YAML コードをコミットする前に検証します。

1. **[コミット]** を選択し、コミットメッセージを入力し、再度 **[コミット]** を選択します。

------