

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

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

# 例: ワークフローのトリガー
<a name="workflows-add-trigger-examples"></a>

次の例は、Amazon CodeCatalyst ワークフロー定義ファイルにさまざまなタイプのトリガーを追加する方法を示したものです。

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

**Topics**
+ [例: シンプルなコードプッシュトリガー](#workflows-add-trigger-examples-push-simple)
+ [例: シンプルな「メインへのプッシュ」トリガー](#workflows-add-trigger-examples-push-main)
+ [例: シンプルなプルリクエストトリガー](#workflows-add-trigger-examples-pull-simple)
+ [例: シンプルなスケジュールトリガー](#workflows-add-trigger-examples-schedule-simple)
+ [例: スケジュールとブランチを含むトリガー](#workflows-add-trigger-examples-schedule-branches)
+ [例: スケジュール、プッシュ、ブランチを含むトリガー](#workflows-add-trigger-examples-schedule-push-branches)
+ [例: プルとブランチを含むトリガー](#workflows-add-trigger-examples-pull-branches)
+ [例: プル、ブランチ、および「CLOSED」イベントを含むトリガー](#workflows-add-trigger-examples-push-pull-close)
+ [例: プッシュ、ブランチ、ファイルを含むトリガー](#workflows-add-trigger-examples-push-multi)
+ [例: 手動トリガー](#workflows-add-trigger-examples-manual)
+ [例: CI/CD マルチワークフロー設定のトリガー](#workflows-add-trigger-usecases)

## 例: シンプルなコードプッシュトリガー
<a name="workflows-add-trigger-examples-push-simple"></a>

次の例は、ソースリポジトリ内の*いずれかの*ブランチにコードがプッシュされるたびにワークフロー実行を開始するトリガーを示したものです。

このトリガーがアクティブ化されると、CodeCatalyst ではプッシュ*先*のブランチ (つまり、送信先ブランチ) 内のファイルを使用してワークフロー実行を開始します。

例えば、コミットを `main` にプッシュすると、CodeCatalyst では `main` のワークフロー定義ファイルやその他のソースファイルを使用してワークフロー実行を開始します。

別の例として、コミットを `feature-branch-123` にプッシュすると、CodeCatalyst では `feature-branch-123` のワークフロー定義ファイルやその他のソースファイルを使用してワークフロー実行を開始します。

```
Triggers:
  - Type: PUSH
```

**注記**  
`main` にプッシュした場合にのみワークフロー実行を開始する場合は、「[例: シンプルな「メインへのプッシュ」トリガー](#workflows-add-trigger-examples-push-main)」を参照してください。

## 例: シンプルな「メインへのプッシュ」トリガー
<a name="workflows-add-trigger-examples-push-main"></a>

次の例は、ソースリポジトリ内の `main` ブランチ (および `main` ブランチ*のみ*) にコードがプッシュされるたびにワークフロー実行を開始するトリガーを示したものです。

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

## 例: シンプルなプルリクエストトリガー
<a name="workflows-add-trigger-examples-pull-simple"></a>

次の例は、ソースリポジトリ内でプルリクエストが作成または改訂されるたびにワークフロー実行を開始するトリガーを示したものです。

このトリガーがアクティブ化されると、CodeCatalyst ではプル*元*のブランチ (つまり、ソースブランチ) 内のワークフロー定義ファイルやその他のソースファイルを使用してワークフロー実行を開始します。

例えば、`feature-123` というソースブランチと `main` という宛先ブランチを使用してプルリクエストを作成すると、CodeCatalyst では `feature-123` のワークフロー定義ファイルやその他のソースファイルを使用してワークフロー実行を開始します。

```
Triggers:
  - Type: PULLREQUEST
    Events:
      - OPEN
      - REVISION
```

## 例: シンプルなスケジュールトリガー
<a name="workflows-add-trigger-examples-schedule-simple"></a>

次の例は、毎週月曜日から金曜日の午前 0 時 (UTC\$10) にワークフロー実行を開始するトリガーを示したものです。

このトリガーがアクティブ化されると、CodeCatalyst では、このトリガーがあるワークフロー定義ファイルを含むソースリポジトリ内のブランチごとに 1 つのワークフロー実行を開始します。

例えば、ソースリポジトリに `main`、`release-v1`、`feature-123` という 3 つのブランチがあり、後続トリガーがあるワークフロー定義ファイルがこれらの各ブランチに含まれている場合、CodeCatalyst では 3 つのワークフロー実行を開始します。1 つ目のワークフロー実行では `main` のファイル、2 つ目のワークフロー実行では `release-v1` のファイル、3 つ目のワークフロー実行では `feature-123` のファイルを使用します。

```
Triggers:
  - Type: SCHEDULE
    Expression: "0 0 ? * MON-FRI *"
```

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

## 例: スケジュールとブランチを含むトリガー
<a name="workflows-add-trigger-examples-schedule-branches"></a>

次の例は、毎日午後 6 時 15 分 (UTC\$10) にワークフロー実行を開始するトリガーを示したものです。

このトリガーがアクティブ化されると、CodeCatalyst では `main` ブランチ内のファイルを使用してワークフロー実行を開始し、`release-` で始まるブランチごとに追加の実行を開始します。

例えば、ソースリポジトリに `main`、`release-v1`、`bugfix-1`、`bugfix-2` という名前のブランチがある場合、CodeCatalyst では 2 つのワークフロー実行を開始します。1 つ目のワークフロー実行では `main` のファイル、2 つ目のワークフロー実行では `release-v1` のファイルを使用します。`bugfix-1` ブランチと `bugfix-1` ブランチのワークフロー実行は開始*されません*。

```
Triggers:
  - Type: SCHEDULE
    Expression: "15 18 * * ? *"
    Branches:
      - main
      - release\-.*
```

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

## 例: スケジュール、プッシュ、ブランチを含むトリガー
<a name="workflows-add-trigger-examples-schedule-push-branches"></a>

次の例は、毎日午前 0 時 (UTC\$10) に、コードが `main` ブランチにプッシュされるたびにワークフロー実行を開始するトリガーを示したものです。

この例では、以下のようになっています：
+ ワークフロー実行は毎日午前 0 時に開始されます。ワークフロー実行では、`main` ブランチ内のワークフロー定義ファイルとその他のソースファイルを使用します。
+ コミットを `main` ブランチにプッシュするたびにもワークフロー実行が開始されます。ワークフロー実行では、宛先ブランチ (`main`) 内のワークフロー定義ファイルとその他のソースファイルを使用します。

```
Triggers:
  - Type: SCHEDULE
    Expression: "0 0 * * ? *"
    Branches:
      - main
  - Type: PUSH
    Branches: 
      - main
```

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

## 例: プルとブランチを含むトリガー
<a name="workflows-add-trigger-examples-pull-branches"></a>

次の例は、誰かが `main` という宛先ブランチでプルリクエストを開いたり変更したりするたびにワークフロー実行を開始するトリガーを示したものです。`Triggers` 構成で指定されているブランチは `main` ですが、ワークフロー実行では、*ソース*ブランチ (プル*元*のブランチ) 内のワークフロー定義ファイルとその他のソースファイルが使用されます。

```
Triggers:      
  - Type: PULLREQUEST
    Branches:
      - main
    Events:
      - OPEN
      - REVISION
```

## 例: プル、ブランチ、および「CLOSED」イベントを含むトリガー
<a name="workflows-add-trigger-examples-push-pull-close"></a>

次の例は、`main` で始まるブランチでプルリクエストを閉じるたびにワークフロー実行を開始するトリガーを示したものです。

この例では、以下のようになっています：
+ `main` で始まる宛先ブランチでプルリクエストを閉じると、(閉じたばかりの) ソースブランチのワークフロー定義ファイルとその他のソースファイルを使用して、ワークフロー実行が自動的に開始されます。
+ プルリクエストがマージされた後にブランチを自動的に削除するようにソースリポジトリを構成している場合、これらのブランチが `CLOSED` 状態になることはありません。つまり、マージされたブランチはプルリクエスト `CLOSED` トリガーをアクティブ化しません。このシナリオで `CLOSED` トリガーをアクティブ化する唯一の方法は、プルリクエストをマージせずに閉じることです。

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

## 例: プッシュ、ブランチ、ファイルを含むトリガー
<a name="workflows-add-trigger-examples-push-multi"></a>

次の例は、`main` ブランチの `filename.txt` ファイルまたは `src` ディレクトリ内のファイルに変更が加えられるたびにワークフロー実行を開始するトリガーを示したものです。

このトリガーがアクティブ化されると、CodeCatalyst では `main` ブランチのワークフロー定義ファイルとその他のソースファイルを使用してワークフロー実行を開始します。

```
Triggers:
  - Type: PUSH
    Branches:
      - main
    FilesChanged:
      - filename.txt
      - src\/.*
```

## 例: 手動トリガー
<a name="workflows-add-trigger-examples-manual"></a>

手動トリガーを構成するには、ワークフロー定義ファイルから `Triggers` セクションを省略します。このセクションがない場合、ユーザーは CodeCatalyst コンソールで **[実行]** ボタンを選択してワークフローを手動で開始する必要があります。詳細については、「[手動でのワークフロー実行の開始](workflows-manually-start.md)」を参照してください。

## 例: CI/CD マルチワークフロー設定のトリガー
<a name="workflows-add-trigger-usecases"></a>

この例では、継続的インテグレーション (CI) と継続的デプロイ (CD) でそれぞれ別の Amazon CodeCatalyst ワークフローを使用する場合にトリガーを設定する方法について説明します。

このシナリオでは、次の 2 つのワークフローを設定します。
+ **CI ワークフロー** – このワークフローでは、プルリクエストが作成または改訂されたときにアプリケーションをビルドしてテストします。
+ **CD ワークフロー** – このワークフローでは、プルリクエストがマージされたときにアプリケーションをビルドしてデプロイします。

**CI ワークフロー**の定義ファイルの内容は次のようになります。

```
Triggers:      
  - Type: PULLREQUEST
    Branches:
      - main
    Events:
      - OPEN
      - REVISION
Actions:
  BuildAction:
    instructions-for-building-the-app
  TestAction:
    instructions-for-test-the-app
```

`Triggers` コードは、フィーチャーブランチを `main` ブランチにマージするように求めるプルリクエストをソフトウェアデベロッパーが作成 (または[変更](pull-requests-update.md)) するたびに、ワークフロー実行を自動的に開始することを示しています。CodeCatalyst では、ソースブランチ (フィーチャーブランチ) のソースコードを使用してワークフロー実行を開始します。

**CD ワークフロー**の定義ファイルの内容は次のようになります。

```
Triggers:      
  - Type: PUSH
    Branches:
      - main
Actions:
  BuildAction:
    instructions-for-building-the-app
  DeployAction:
    instructions-for-deploying-the-app
```

`Triggers` コードは、`main` へのマージが発生したときにワークフローを自動的に開始することを示しています。CodeCatalyst では、`main` ブランチのソースコードを使用してワークフロー実行を開始します。