

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

# CodeCommit ソースアクションリファレンス
<a name="action-reference-CodeCommit"></a>

定された CodeCommit リポジトリとブランチで新しいコミットが行われると、パイプラインがスタートします。

コンソールを使用してパイプラインを作成または編集する場合、CodePipeline はリポジトリで変更が生じた場合にパイプラインを開始する EventBridge ルールを作成します。

**注記**  
Amazon ECR、Amazon S3、または CodeCommit ソースの場合、入力変換エントリを使用してソースオーバーライドを作成し、パイプラインイベントの EventBridge で `revisionValue` を使用することもできます。ここで、`revisionValue` はオブジェクトキー、コミット、またはイメージ ID のソースイベント変数から派生します。詳細については、[Amazon ECR ソースアクションと EventBridge リソース](create-cwe-ecr-source.md)、[イベントに対して有効にしたソースを使用して Amazon S3 ソースアクションに接続する](create-S3-source-events.md)、または [CodeCommit ソースアクションと EventBridge](triggering.md) の手順に含まれる入力変換エントリのオプション手順を参照してください。

CodeCommit アクションを使用してパイプラインを接続する前に、CodeCommit リポジトリを作成しておく必要があります。

コードの変更が検出された後は、後続のアクションにコードを渡すための次のオプションがあります。
+ [**デフォルト**] — CodeCommit ソースアクションが、コミットの浅いコピーを含む ZIP ファイルを出力するように設定します。
+ [**フルクローン**] — ソースアクションが、後続のアクションのためにリポジトリへの Git URL リファレンスを出力するように設定します。

  現在、Git URL リファレンスは、リポジトリと関連する Git メタデータをクローンするためにダウンストリーム CodeBuild アクションでのみ使用できます。Git URL リファレンスを CodeBuild 以外のアクションに渡そうとすると、エラーが発生します。

**Topics**
+ [

## アクションタイプ
](#action-reference-CodeCommit-type)
+ [

## 設定パラメータ
](#action-reference-CodeCommit-config)
+ [

## 入力アーティファクト
](#action-reference-CodeCommit-input)
+ [

## 出力アーティファクト
](#action-reference-CodeCommit-output)
+ [

## 出力変数
](#action-reference-CodeCommit-variables)
+ [

## サービスロールのアクセス許可: CodeCommit アクション
](#edit-role-codecommit)
+ [

## アクション設定の例
](#action-reference-CodeCommit-example)
+ [

## 関連情報
](#action-reference-CodeCommit-links)

## アクションタイプ
<a name="action-reference-CodeCommit-type"></a>
+ カテゴリ:`Source`
+ 所有者: `AWS`
+ プロバイダー: `CodeCommit`
+ バージョン: `1`

## 設定パラメータ
<a name="action-reference-CodeCommit-config"></a>

**RepositoryName**  
必須: はい  
ソースの変更が検出されるリポジトリの名前。

**BranchName**  
必須: はい  
ソースの変更が検出されるブランチの名前。

**PollForSourceChanges**  
必須: いいえ  
`PollForSourceChanges` は、CodePipeline がソースの変更について CodeCommit リポジトリをポーリングするかどうかを制御します。代わりに CloudWatch Events を使用してソースの変更を検出することをお勧めします。CloudWatch Events の構成については、[ポーリングパイプラインを移行する (CodeCommit ソース) (CLI)](update-change-detection.md#update-change-detection-cli-codecommit) または [ポーリングパイプラインの移行 (CodeCommit ソース) (CloudFormation テンプレート)](update-change-detection.md#update-change-detection-cfn-codecommit) を参照してください。  
CloudWatch Events ルールを設定する場合、パイプラインの重複実行を避けるために `PollForSourceChanges` を `false` に設定する必要があります。
このパラメータの有効な値:  
+ `true`: 設定されている場合、CodePipeline はソースの変更についてポーリングします。
**注記**  
`PollForSourceChanges` を省略した場合、CodePipeline はデフォルトでソースの変更についてリポジトリをポーリングします。この動作は、`PollForSourceChanges` が含まれており、`true` に設定されている場合と同じです。
+ `false`: 設定されている場合、CodePipeline は、ソースの変更についてリポジトリをポーリングしません。CloudWatch Events ルールを設定してソース変更を検出する場合は、この設定を使用します。

****OutputArtifactFormat****  
必須: いいえ  
出力 アーティファクト フォーマット。値は `CODEBUILD_CLONE_REF` または `CODE_ZIP` のいずれかです。指定しない場合、デフォルトの `CODE_ZIP` が使用されます。  
`CODEBUILD_CLONE_REF` のオプションは、CodeBuild のダウンストリームアクションでのみ使用可能です。  
このオプションを選択する場合、`codecommit:GitPull` に示すように、CodeBuild サービスロールに [CodeBuild GitClone のアクセス権限を CodeCommit ソースアクションに追加します。](troubleshooting.md#codebuild-role-codecommitclone) 許可を追加する必要があります。また、`codecommit:GetRepository` に示すように、CodePipeline のサービス・ロールに [CodePipeline サービスロールにアクセス許可を追加する](how-to-custom-role.md#how-to-update-role-new-services) 許可を追加する必要もあります。[**フルクローン**] オプションを使用する方法を示すチュートリアルについては、[チュートリアル: CodeCommit パイプラインソースでフルクローンを使用する](tutorials-codecommit-gitclone.md) を参照してください。

## 入力アーティファクト
<a name="action-reference-CodeCommit-input"></a>
+ **アーティファクトの数:** `0`
+ **説明:** 入力アーティファクトは、このアクションタイプには適用されません。

## 出力アーティファクト
<a name="action-reference-CodeCommit-output"></a>
+ **アーティファクトの数:** `1` 
+ **説明:** このアクションの出力アーティファクトは、パイプライン実行のソースリビジョンとして指定されたコミットで設定されたリポジトリとブランチの内容を含む ZIP ファイルです。リポジトリから生成されるアーティファクトは、CodeCommit アクションの出力アーティファクトです。ソースコードのコミット ID は、パイプライン実行のトリガーとなるソースリビジョンとして、CodePipeline に表示されます。

## 出力変数
<a name="action-reference-CodeCommit-variables"></a>

このアクションを設定すると、パイプライン内のダウンストリームアクションのアクション設定によって参照できる変数が生成されます。このアクションは、アクションに名前空間がない場合でも、出力変数として表示できる変数を生成します。名前空間を使用してアクションを設定し、これらの変数をダウンストリームアクションの設定で使用できるようにします。

詳細については、「[変数リファレンス](reference-variables.md)」を参照してください。

**CommitId**  
パイプライン実行のトリガーとなった CodeCommit のコミット ID。コミット ID は、コミットの完全な SHA です。

**CommitMessage**  
パイプライン実行をトリガーしたコミットに関連付けられた説明メッセージ (存在する場合)。

**RepositoryName**  
パイプラインのトリガーとなるコミットが行われた CodeCommit リポジトリの名前。

**BranchName**  
ソース変更が行われた CodeCommit リポジトリのブランチ名。

**AuthorDate**  
コミットが認証された日付 (タイムスタンプ形式)。

**CommitterDate**  
コミットがコミットされた日付 (タイムスタンプ形式)。

## サービスロールのアクセス許可: CodeCommit アクション
<a name="edit-role-codecommit"></a>

CodePipeline がアクションを実行する際、CodePipeline サービスロールポリシーには、最小特権でアクセスを維持するために、パイプラインリソース ARN に適切にスコープダウンされた次のアクセス許可が必要です。例えば、以下をポリシーステートメントに追加します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codecommit:CancelUploadArchive",
                "codecommit:GetBranch",
                "codecommit:GetCommit",
                "codecommit:GetRepository",
                "codecommit:GetUploadArchiveStatus",
                "codecommit:UploadArchive"
            ],
            "Resource": [
                "arn:aws:codecommit:*:111122223333:[[codecommitRepostories]]"
            ]
        }
    ]
}
```

------



## アクション設定の例
<a name="action-reference-CodeCommit-example"></a>

### デフォルトの出力アーティファクト フォーマットの例
<a name="w2aac56c49c29b3"></a>

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

```
name: Source
actionTypeId:
  category: Source
  owner: AWS
  provider: CodeCommit
  version: '1'
runOrder: 1
configuration:
  BranchName: main
  PollForSourceChanges: 'false'
  RepositoryName: MyWebsite
outputArtifacts:
  - name: Artifact_MyWebsiteStack
inputArtifacts: []
region: us-west-2
namespace: SourceVariables
```

------
#### [ JSON ]

```
{
    "name": "Source",
    "actionTypeId": {
        "category": "Source",
        "owner": "AWS",
        "provider": "CodeCommit",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {
        "BranchName": "main",
        "PollForSourceChanges": "false",
        "RepositoryName": "MyWebsite"
    },
    "outputArtifacts": [
        {
            "name": "Artifact_MyWebsiteStack"
        }
    ],
    "inputArtifacts": [],
    "region": "us-west-2",
    "namespace": "SourceVariables"
}
```

------

### フル クローン出力アーティファクト フォーマットの例
<a name="w2aac56c49c29b5"></a>

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

```
name: Source
actionTypeId:
  category: Source
  owner: AWS
  provider: CodeCommit
  version: '1'
runOrder: 1
configuration:
  BranchName: main
  OutputArtifactFormat: CODEBUILD_CLONE_REF
  PollForSourceChanges: 'false'
  RepositoryName: MyWebsite
outputArtifacts:
  - name: SourceArtifact
inputArtifacts: []
region: us-west-2
namespace: SourceVariables
```

------
#### [ JSON ]

```
{
    "name": "Source",
    "actionTypeId": {
        "category": "Source",
        "owner": "AWS",
        "provider": "CodeCommit",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {
        "BranchName": "main",
        "OutputArtifactFormat": "CODEBUILD_CLONE_REF",
        "PollForSourceChanges": "false",
        "RepositoryName": "MyWebsite"
    },
    "outputArtifacts": [
        {
            "name": "SourceArtifact"
        }
    ],
    "inputArtifacts": [],
    "region": "us-west-2",
    "namespace": "SourceVariables"
}
```

------

## 関連情報
<a name="action-reference-CodeCommit-links"></a>

このアクションを利用する際に役立つ関連リソースは以下の通りです。
+ [チュートリアル: シンプルなパイプラインを作成する (CodeCommit リポジトリ)](tutorials-simple-codecommit.md) - このチュートリアルでは、サンプルアプリケーション仕様ファイル、サンプル CodeDeploy アプリケーションおよびデプロイグループを提供します。このチュートリアルを参照して、Amazon EC 2 インスタンスにデプロイする CodeCommit ソースを持つパイプラインを作成します。