

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

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

# ワークフローでの変数の使用
<a name="workflows-working-with-variables"></a>

 *変数*は、Amazon CodeCatalyst ワークフローで参照できる情報を含むキーと値のペアです。変数の値部分は、ワークフロー実行時に実際の値に置き換えられます。

ワークフローで使用できる変数には次の 2 種類があります。
+ **ユーザー定義変数** - ユーザーが定義するキーと値のペアです。
+ **事前定義済み変数** – ワークフローによって自動的に出力されるキーと値のペアです。これらは定義する必要がありません。

ワークフローの詳細については、「[ワークフローを使用して構築、テスト、デプロイするワークフローを使用して構築、テスト、デプロイする](workflow.md)」を参照してください。

**注記**  
CodeCatalyst では [GitHub 出力パラメータ](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter)もサポートしています。これは変数のように動作し、他のアクションで参照できます。詳細については、「[GitHub 出力パラメータをエクスポートする](integrations-github-action-export.md)」および「[GitHub 出力パラメータを参照する](integrations-github-action-referencing.md)」を参照してください。

**Topics**
+ [ユーザー定義変数の使用](workflows-using-variables.md)
+ [事前定義済み変数の使用](workflows-using-predefined-variables.md)

# ユーザー定義変数の使用
<a name="workflows-using-variables"></a>

*ユーザー定義変数*は、ユーザーが定義するキーと値のペアです。ユーザー定義変数には次の 2 種類があります。
+ **プレーンテキスト変数**、または単に**変数** - これらは、ワークフロー定義ファイル内でプレーンテキストで定義するキーと値のペアです。
+ **シークレット** – これらは、Amazon CodeCatalyst コンソールの別の **[シークレット]** ページで定義するキーと値のペアです。*キー* (名前) は公開ラベルで、*値*には非公開にしたい情報が含まれます。ワークフロー定義ファイルではキーのみを指定します。ワークフロー定義ファイル内でパスワードやその他の機密情報の代わりにシークレットを使用します。

**注記**  
わかりやすくするために、このガイドでは*プレーンテキスト変数*のことを*変数*と呼んでいます。

変数の詳細については、「[ワークフローでの変数の使用](workflows-working-with-variables.md)」を参照してください。

**Topics**
+ [変数の例](workflows-working-with-variables-ex.md)
+ [変数の定義](workflows-working-with-variables-define-input.md)
+ [シークレットの定義](workflows-working-with-variables-define-secret.md)
+ [他のアクションで使用できるように変数をエクスポートする](workflows-working-with-variables-export-input.md)
+ [変数を定義するアクションでの変数の参照](workflows-working-with-variables-reference-input.md)
+ [別のアクションによって出力された変数の参照](workflows-working-with-variables-reference-action.md)
+ [シークレットの参照](workflows-working-with-variables-reference-secret.md)

# 変数の例
<a name="workflows-working-with-variables-ex"></a>

次の例は、ワークフロー定義ファイルで変数を定義して参照する方法を示したものです。

変数の詳細については、「[ワークフローでの変数の使用](workflows-working-with-variables.md)」を参照してください。

**Topics**
+ [例: Inputs プロパティを使用した変数の定義](#workflows-working-with-variables-ex-define-inputs)
+ [例: Steps プロパティを使用した変数の定義](#workflows-working-with-variables-ex-define-steps)
+ [例: Outputs プロパティを使用した変数のエクスポート](#workflows-working-with-variables-ex-export-outputs)
+ [例: 同じアクション内に定義されている変数の参照](#workflows-working-with-variables-ex-refer-current)
+ [例: 別のアクションで定義されている変数の参照](#workflows-working-with-variables-ex-refer-other)
+ [例: シークレットの参照](#workflows-working-with-variables-ex-refer-secret)

## 例: Inputs プロパティを使用した変数の定義
<a name="workflows-working-with-variables-ex-define-inputs"></a>

次の例は、`Inputs` セクションで `VAR1` と `VAR2` の 2 つの変数を定義する方法を示したものです。

```
Actions:
  Build:
    Identifier: aws/build@v1
    Inputs:
      Variables:
      - Name: VAR1
        Value: "My variable 1"
      - Name: VAR2
        Value: "My variable 2"
```

## 例: Steps プロパティを使用した変数の定義
<a name="workflows-working-with-variables-ex-define-steps"></a>

次の例は、`Steps` セクションで `DATE` 変数を明示的に定義する方法を示したものです。

```
Actions:
  Build:
    Identifier: aws/build@v1
    Configuration:    
      Steps:
        - Run: DATE=$(date +%m-%d-%y)
```

## 例: Outputs プロパティを使用した変数のエクスポート
<a name="workflows-working-with-variables-ex-export-outputs"></a>

次の例は、`REPOSITORY-URI` と `TIMESTAMP` の 2 つの変数を定義し、`Outputs` セクションを使用してエクスポートする方法を示したものです。

```
Actions:
  Build:
    Identifier: aws/build@v1
    Inputs:
      Variables:
        - Name: REPOSITORY-URI
          Value: 111122223333.dkr.ecr.us-east-2.amazonaws.com/codecatalyst-ecs-image-repo
    Configuration:
      Steps:
        - Run: TIMESTAMP=$(date +%m-%d-%y-%H-%m-%s) 
    Outputs:
      Variables:
        - REPOSITORY-URI
        - TIMESTAMP
```

## 例: 同じアクション内に定義されている変数の参照
<a name="workflows-working-with-variables-ex-refer-current"></a>

次の例は、`MyBuildAction` で `VAR1` 変数を指定し、`$VAR1` を使用して同じアクションで参照する方法を示したものです。

```
Actions:
  MyBuildAction:
    Identifier: aws/build@v1
    Inputs:
      Variables:
        - Name: VAR1
          Value: my-value
    Configuration:
      Steps:
        - Run: $VAR1
```

## 例: 別のアクションで定義されている変数の参照
<a name="workflows-working-with-variables-ex-refer-other"></a>

次の例は、`BuildActionA` で `TIMESTAMP` 変数を指定し、`Outputs` プロパティを使用してそれをエクスポートし、`${BuildActionA.TIMESTAMP}` を使用して `BuildActionB` で参照する方法を示したものです。

```
Actions:
  BuildActionA:
    Identifier: aws/build@v1
    Configuration:    
      Steps:
        - Run: TIMESTAMP=$(date +%m-%d-%y-%H-%m-%s) 
    Outputs:
      Variables:
        - TIMESTAMP
  BuildActionB:
    Identifier: aws/build@v1
    Configuration:
      Steps:
        - Run: docker build -t my-ecr-repo/image-repo:latest .      
        - Run: docker tag my-ecr-repo/image-repo:${BuildActionA.TIMESTAMP}
        
        # Specifying just '$TIMESTAMP' here will not work 
        # because TIMESTAMP is not a variable 
        # in the BuildActionB action.
```

## 例: シークレットの参照
<a name="workflows-working-with-variables-ex-refer-secret"></a>

次の例は、`my-password` シークレットを参照する方法を示したものです。`my-password` はシークレットのキーです。このシークレットのキーと対応するパスワードの値は、ワークフロー定義ファイルで使用する前に CodeCatalyst コンソールの **[シークレット]** ページで指定する必要があります。詳細については、「[シークレットを使用したデータのマスキング](workflows-secrets.md)」を参照してください。

```
Actions:
  BuildActionA:
    Identifier: aws/build@v1
    Configuration:    
      Steps:
        - Run: curl -u LiJuan:${Secrets.my-password} https://example.com
```

# 変数の定義
<a name="workflows-working-with-variables-define-input"></a>

変数は次の 2 つの方法で定義できます。
+ ワークフローアクションの `Inputs` セクション – 「[「Inputs」セクションで変数を定義するには](#workflows-to-define-variable-input)」を参照
+ ワークフローアクションの `Steps` セクション – 「[「Steps」セクションで変数を定義するには](#workflows-to-define-variable-steps)」を参照
**注記**  
`Steps` メソッドは CodeCatalyst のビルド、テスト、**GitHub Actions** の各アクションでのみ機能します。これらが `Steps` セクションを含む唯一のアクションであるためです。

例については「[変数の例](workflows-working-with-variables-ex.md)」を参照してください。

変数の詳細については、「[ワークフローでの変数の使用](workflows-working-with-variables.md)」を参照してください。

------
#### [ Visual ]

**「Inputs」セクションで変数を定義するには (ビジュアルエディタ)**

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

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

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

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

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

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

1. ワークフロー図で、変数を設定するアクションを選択します。

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

1. **[変数 - 省略可]** で **[変数を追加]** を選択し、次の操作を行います。

   アクションで使用できるようにしたい入力変数を定義する名前と値のペアのシーケンスを指定します。変数名に使用できるのは、英数字 (a～z、A～Z、0～9)、ハイフン (-)、アンダースコア (\$1) のみです。スペースは使用できません。引用符を使用して、変数名で特殊文字とスペースを有効にすることはできません。

   変数の詳細 (例を含む) については、「[ワークフローでの変数の使用](workflows-working-with-variables.md)」を参照してください。

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

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

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

**「Inputs」セクションで変数を定義するには (YAML エディタ)**

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

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

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

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

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

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

1. ワークフローアクションで、次のようなコードを追加します。

   ```
   action-name:
     Inputs:
       Variables:
         - Name: variable-name
           Value: variable-value
   ```

   その他の例については、「[変数の例](workflows-working-with-variables-ex.md)」を参照してください。詳細については、アクションの「[ワークフロー YAML 定義](workflow-reference.md)」を参照してください。

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

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

------

------
#### [ Visual ]

**「Steps」セクションで変数を定義するには (ビジュアルエディタ)**

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

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

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

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

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

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

1. ワークフロー図で、変数を設定するアクションを選択します。

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

1. **Shell コマンド**と **GitHub Actions YAML** のいずれか利用可能な方で、アクションの `Steps` で変数を明示的または暗黙的に定義します。
   + 変数を明示的に定義するには、`Steps` セクションで直接 bash コマンドに変数を含めます。
   + 変数を暗黙的に定義するには、アクションの `Steps` セクションで参照されているファイルで変数を指定します。

     例については「[変数の例](workflows-working-with-variables-ex.md)」を参照してください。詳細については、アクションの「[ワークフロー YAML 定義](workflow-reference.md)」を参照してください。

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

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

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

**「Steps」セクションで変数を定義するには (YAML エディタ)**

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

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

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

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

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

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

1. ワークフローアクションで、明示的または暗黙的にアクションの `Steps` セクションで変数を定義します。
   + 変数を明示的に定義するには、`Steps` セクションで直接 bash コマンドに変数を含めます。
   + 変数を暗黙的に定義するには、アクションの `Steps` セクションで参照されているファイルで変数を指定します。

     例については「[変数の例](workflows-working-with-variables-ex.md)」を参照してください。詳細については、アクションの「[ワークフロー YAML 定義](workflow-reference.md)」を参照してください。

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

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

------

# シークレットの定義
<a name="workflows-working-with-variables-define-secret"></a>

CodeCatalyst コンソールの **[シークレット]** ページでシークレットを定義します。詳細については、「[シークレットを使用したデータのマスキング](workflows-secrets.md)」を参照してください。

例えば、次のようなシークレットを定義できます。
+ 名前 (キー): **my-password**
+ 値: **^\$1H3\$1\$1b9**

シークレットを定義したら、ワークフロー定義ファイルでシークレットのキー (**my-password**) を指定できます。これを行う方法の例については、「[例: シークレットの参照](workflows-working-with-variables-ex.md#workflows-working-with-variables-ex-refer-secret)」を参照してください。

# 他のアクションで使用できるように変数をエクスポートする
<a name="workflows-working-with-variables-export-input"></a>

次の手順に従って、アクションから変数をエクスポートし、他のアクションで参照できるようにします。

変数をエクスポートする前に、次の点に注意してください。
+ 変数が定義されているアクション内でのみ変数を参照する必要がある場合は、エクスポートする必要はありません。
+ すべてのアクションが変数のエクスポートをサポートしているわけではありません。アクションがこの機能をサポートしているかどうかを確認するには、以下のビジュアルエディタの手順を実行して、アクションの **[出力]** タブに **[変数]** ボタンが含まれているかどうかを確認します。含まれている場合、変数のエクスポートがサポートされています。
+ GitHub アクションから変数をエクスポートするには、「[GitHub 出力パラメータをエクスポートする](integrations-github-action-export.md)」を参照してください。

変数の詳細については、「[ワークフローでの変数の使用](workflows-working-with-variables.md)」を参照してください。

**前提条件**  
エクスポートする変数が定義済みであることを確認します。詳細については、「[変数の定義](workflows-working-with-variables-define-input.md)」を参照してください。

------
#### [ Visual ]

**変数をエクスポートするには (ビジュアルエディタ)**

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

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

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

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

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

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

1. ワークフロー図で、変数のエクスポート元となるアクションを選択します。

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

1. **[変数 - 省略可]** で **[変数を追加]** を選択し、次の操作を行います。

   アクションをエクスポートする変数の名前を指定します。この変数は、同じアクションの `Inputs` または `Steps` セクションであらかじめ定義されている必要があります。

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

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

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

**変数をエクスポートするには (YAML エディタ)**

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

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

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

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

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

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

1. 変数のエクスポート元となるアクションで、次のようなコードを追加します。

   ```
   action-name:
     Outputs:
       Variables:
         - Name: variable-name
   ```

   その他の例については、「[変数の例](workflows-working-with-variables-ex.md)」を参照してください。

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

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

------

# 変数を定義するアクションでの変数の参照
<a name="workflows-working-with-variables-reference-input"></a>

以下の手順に従って、変数を定義するアクションで変数を参照します。

**注記**  
GitHub アクションによって生成された変数を参照するには、「[GitHub 出力パラメータを参照する](integrations-github-action-referencing.md)」を参照してください。

変数の詳細については、「[ワークフローでの変数の使用](workflows-working-with-variables.md)」を参照してください。

**前提条件**  
参照する変数が定義済みであることを確認します。詳細については、「[変数の定義](workflows-working-with-variables-define-input.md)」を参照してください。

------
#### [ Visual ]

*利用できません。YAML を選択して YAML の手順を表示してください。*

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

**変数を定義するアクションで変数を参照するには**

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

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

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

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

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

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

1. 参照する変数を定義する CodeCatalyst アクションで、次の bash 構文を使用して変数を追加します。

   ```
   $variable-name
   ```

   例えば、次のようになります。

   ```
   MyAction:
       Configuration:
         Steps:
           - Run: $variable-name
   ```

   その他の例については、「[変数の例](workflows-working-with-variables-ex.md)」を参照してください。詳細については、「[ワークフロー YAML 定義](workflow-reference.md)」のアクションのリファレンス情報を参照してください。

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

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

------

# 別のアクションによって出力された変数の参照
<a name="workflows-working-with-variables-reference-action"></a>

他のアクションによって出力された変数を参照するには、次の手順に従います。

**注記**  
 GitHub アクションから出力された変数を参照するには、「[GitHub 出力パラメータを参照する](integrations-github-action-referencing.md)」を参照してください。

変数の詳細については、「[ワークフローでの変数の使用](workflows-working-with-variables.md)」を参照してください。

**前提条件**  
参照する変数がエクスポート済みであることを確認します。詳細については、「[他のアクションで使用できるように変数をエクスポートする](workflows-working-with-variables-export-input.md)」を参照してください。

------
#### [ Visual ]

*利用できません。[YAML] を選択して YAML の手順を表示してください。*

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

**別のアクションによって出力された変数を参照するには (YAML エディタ)**

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

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

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

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

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

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

1. CodeCatalyst アクションで、次の構文を使用して変数に参照を追加します。

   ```
   ${action-group-name.action-name.variable-name}
   ```

   置き換え前:
   + *action-group-name* は、変数を出力するアクションを含むアクショングループの名前に置き換えます。
**注記**  
アクショングループがない場合、または変数が同じアクショングループ内のアクションによって生成される場合は、*action-group-name* を省略しても構いません。
   + *action-name* は、変数を出力するアクションの名前に置き換えます。
   + *variable-name* は変数の名前に置き換えます。

   例えば、次のようになります。

   ```
   MySecondAction:
       Configuration:
         Steps:
           - Run: ${MyFirstAction.TIMESTAMP}
   ```

   その他の例については、「[変数の例](workflows-working-with-variables-ex.md)」を参照してください。詳細については、アクションの「[ワークフロー YAML 定義](workflow-reference.md)」を参照してください。

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

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

------

# シークレットの参照
<a name="workflows-working-with-variables-reference-secret"></a>

ワークフロー定義ファイルでシークレットを参照する手順については、「[シークレットの使用](workflows-secrets.using.md)」を参照してください。

例については、「[例: シークレットの参照](workflows-working-with-variables-ex.md#workflows-working-with-variables-ex-refer-secret)」を参照してください。

# 事前定義済み変数の使用
<a name="workflows-using-predefined-variables"></a>

*事前定義済み変数*は、ワークフローによって自動的に出力され、ワークフローアクションで使用できるキーと値のペアです。

変数の詳細については、「[ワークフローでの変数の使用](workflows-working-with-variables.md)」を参照してください。

**Topics**
+ [事前定義済み変数の参照の例](workflows-predefined-examples.md)
+ [事前定義済み変数の参照](workflows-working-with-variables-reference-output-vars.md)
+ [ワークフローが出力する事前定義済み変数の確認](workflows-working-with-variables-determine-output-vars.md)
+ [定義済み変数のリスト](workflow-ref-action-variables.md)

# 事前定義済み変数の参照の例
<a name="workflows-predefined-examples"></a>

次の例は、ワークフロー定義ファイルで事前定義済み変数を参照する方法を示しています。

事前定義済み変数の詳細については、「[事前定義済み変数の使用](workflows-using-predefined-variables.md)」を参照してください。

**Topics**
+ [例: 「CommitId」事前定義済み変数の参照](#workflows-working-with-variables-ex-refer-action)
+ [例: 「BranchName」事前定義済み変数の参照](#workflows-working-with-variables-ex-branch)

## 例: 「CommitId」事前定義済み変数の参照
<a name="workflows-working-with-variables-ex-refer-action"></a>

次の例は、`MyBuildAction` アクションで `CommitId` 事前定義済み変数を参照する方法を示しています。`CommitId` 変数は CodeCatalyst によって自動的に出力されます。詳細については、「[定義済み変数のリスト](workflow-ref-action-variables.md)」を参照してください。

この例では、ビルドアクションで使用されている変数を示していますが、どのアクションでも `CommitId` を使用できます。

```
MyBuildAction:
    Identifier: aws/build@v1
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      Steps:
      #Build Docker image and tag it with a commit ID
        - Run: docker build -t image-repo/my-docker-image:latest .
        - Run: docker tag image-repo/my-docker-image:${WorkflowSource.CommitId}
```

## 例: 「BranchName」事前定義済み変数の参照
<a name="workflows-working-with-variables-ex-branch"></a>

次の例は、`CDKDeploy` アクションで `BranchName` 事前定義済み変数を参照する方法を示しています。`BranchName` 変数は CodeCatalyst によって自動的に出力されます。詳細については、「[定義済み変数のリスト](workflow-ref-action-variables.md)」を参照してください。

この例では、**AWS CDK デプロイ**アクションで使用されている変数を示していますが、どのアクションでも `BranchName` を使用できます。

```
CDKDeploy:
    Identifier: aws/cdk-deploy@v2
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      StackName: app-stack-${WorkflowSource.BranchName}
```

# 事前定義済み変数の参照
<a name="workflows-working-with-variables-reference-output-vars"></a>

Amazon CodeCatalyst ワークフロー内のどのアクションでも事前定義済み変数を参照できます。

ワークフローで事前定義済み変数を参照するには、次の手順に従います。

事前定義済み変数の詳細については、「[事前定義済み変数の使用](workflows-using-predefined-variables.md)」を参照してください。

**前提条件**  
`CommitId` など、参照する事前定義済み変数の名前を指定します。詳細については、「[ワークフローが出力する事前定義済み変数の確認](workflows-working-with-variables-determine-output-vars.md)」を参照してください。

------
#### [ Visual ]

*利用できません。YAML を選択して YAML の手順を表示してください。*

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

**事前定義済み変数を参照するには (YAML エディタ)**

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

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

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

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

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

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

1. CodeCatalyst アクションで、次の構文を使用して事前定義済み変数参照を追加します。

   ```
   ${action-group-name.action-name-or-WorkflowSource.variable-name}
   ```

   置き換え前:
   + *action-group-name* はアクショングループの名前に置き換えます。
**注記**  
アクショングループがない場合、または変数が同じアクショングループ内のアクションによって生成される場合は、*action-group-name* を省略しても構いません。
   + *action-name-or-WorkflowSource* は以下に置き換えます。

     変数を出力するアクションの名前。

     または

     `WorkflowSource` (変数が `BranchName` または `CommitId` 変数の場合)。
   + *variable-name* は変数の名前に置き換えます。

   例えば、次のようになります。

   ```
   MySecondAction:
       Configuration:
         Steps:
           - Run: echo ${MyFirstECSAction.cluster}
   ```

   別の例を紹介します。

   ```
   MySecondAction:
       Configuration:
         Steps:
           - Run: echo ${WorkflowSource.CommitId}
   ```

   その他の例については、「[事前定義済み変数の参照の例](workflows-predefined-examples.md)」を参照してください。詳細については、アクションの「[ワークフロー YAML 定義](workflow-reference.md)」を参照してください。

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

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

------

# ワークフローが出力する事前定義済み変数の確認
<a name="workflows-working-with-variables-determine-output-vars"></a>

次の手順に従って、ワークフローの実行時に出力される事前定義済み変数を確認します。その後、同じワークフロー内でこれらの変数を参照できます。

事前定義済み変数の詳細については、「[事前定義済み変数の使用](workflows-using-predefined-variables.md)」を参照してください。

**ワークフローが出力する事前定義済み変数を確認するには**
+ 次のいずれかを行います。
  + **ワークフローを 1 回実行**します。実行が完了すると、ワークフローによって出力された変数が、実行の詳細ページの **[変数]** タブに表示されます。詳細については、「[ワークフロー実行のステータスと詳細の表示](workflows-view-run.md)」を参照してください。
  + **「[定義済み変数のリスト](workflow-ref-action-variables.md)」を参照してください**。このリファレンスには、各事前定義済み変数の変数名 (キー) と値がまとめられています。

**注記**  
ワークフローの変数の最大合計サイズは「[CodeCatalyst のワークフローのクォータ](workflows-quotas.md)」に記載されています。合計サイズが最大サイズを超えると、最大サイズに達した後に発生するアクションが失敗する可能性があります。

# 定義済み変数のリスト
<a name="workflow-ref-action-variables"></a>

ワークフロー実行の一部として CodeCatalyst アクションによって自動的に生成される定義済み変数を確認するには、次のセクションを参照してください。

事前定義済み変数の詳細については、「[事前定義済み変数の使用](workflows-using-predefined-variables.md)」を参照してください。

**注記**  
このリストには、CodeCatalyst ソースおよび [CodeCatalyst アクション](workflows-actions.md#workflows-actions-types)によって生成された定義済み変数のみが含まれます。GitHub アクションや CodeCatalyst Labs アクションなど、他のタイプのアクションを使用している場合は、代わりに「[ワークフローが出力する事前定義済み変数の確認](workflows-working-with-variables-determine-output-vars.md)」を参照してください。

**リスト**

**注記**  
すべての CodeCatalyst アクションが定義済み変数を生成するわけではありません。アクションがリストにない場合、変数は生成されません。
+ [「BranchName」変数と「CommitId」変数](workflows-sources-variables.md)
+ [CloudFormation 「スタックをデプロイ」変数](deploy-action-cfn-variables.md)
+ [「Amazon ECS にデプロイ」する変数](deploy-action-ecs-variables.md)
+ [「Kubernetes クラスターにデプロイ」変数](deploy-action-eks-variables.md)
+ [「AWS CDK デプロイ」変数](cdk-dep-action-variables.md)
+ [「AWS CDK ブートストラップ」変数](cdk-boot-action-variables.md)
+ [「AWS Lambda 呼び出し」変数](lam-invoke-action-variables.md)
+ [「Amazon ECS タスク定義のレンダリング」の変数](render-ecs-action-variables.md)