

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

# AWS CodeCommit リポジトリ内のイベントの通知を設定する
<a name="how-to-repository-email"></a>

指定したリポジトリイベントタイプについてリポジトリユーザーが E メールを受け取れるように、リポジトリの通知ルールを設定できます。イベントが通知ルールの設定と一致すると通知が送信されます。通知用の Amazon SNS トピックを作成するか、Amazon Web Services アカウントの既存のトピックを使用できます。CodeCommit コンソールと を使用して AWS CLI 、通知ルールを設定できます。

![\[CodeCommit リポジトリで設定された通知ルール\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/create-notification-rule-repository.png)


**Topics**
+ [リポジトリ通知ルールの使用](#how-to-repository-email-using)
+ [通知ルールの作成](notification-rule-create.md)
+ [通知の変更または無効化](how-to-repository-email-console-edit.md)
+ [通知の削除](how-to-repository-email-delete.md)

## リポジトリ通知ルールの使用
<a name="how-to-repository-email-using"></a>

通知ルールを設定すると、他のユーザーに影響を及ぼすアクションがあったときにリポジトリユーザーに E メールを送信できます。たとえば、コミット時にコメントが作成されたときに通知を送信するよう通知ルールを設定できます。この設定では、リポジトリユーザーがコミット中のコード行についてコメントすると、他のリポジトリユーザーに E メールが届きます。サインインしてコメントを表示できます。コメントに応答しても E メールが生成されるため、リポジトリユーザーは常に把握することができます。

通知ルールはリポジトリトリガーとは異なり、2019 年 11 月 5 日以前に CodeCommit コンソールで設定できた通知とも異なります。
+ 一部のリポジトリイベントに関する E メールを送信するために Amazon SNS を使用するようにトリガーを設定できますが、それらのイベントはブランチの作成やブランチへのコードのプッシュなどの操作イベントに制限されています。トリガーは、リポジトリイベントを評価するために CloudWatch Events ルールを使用しません。これらは範囲がさらに制限されています。トリガーの使用に関する詳細については、「[リポジトリのトリガーの管理](how-to-notify.md)」を参照してください。
+ 2019 年 11 月 5 日以前に設定された通知では、使用可能なイベントタイプが少なく、Amazon Chime チャットルームおよび Slack チャネルとの統合用に設定できませんでした。2019 年 11 月 5 日以前に設定された通知を引き続き使用できますが、このタイプの通知を作成することはできません。代わりに、通知ルールを作成して使用します。通知ルールを使用し、2019 年 11 月 5 日以前に作成された通知は無効化または削除することをお勧めします。詳細については、「[通知ルールの作成](notification-rule-create.md)」および「[通知の削除](how-to-repository-email-delete.md)」を参照してください。

# 通知ルールの作成
<a name="notification-rule-create"></a>

通知ルールを使用して、リポジトリでプルリクエストが作成されたときなど、重要な変更をユーザーに通知できます。通知ルールは、イベントと、通知の送信に使用される Amazon SNS トピックの両方を指定します。詳細については、「[通知とは](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/welcome.html)」を参照してください。



**注記**  
この機能は、ヨーロッパ (ミラノ) リージョンでは使用できません。そのリージョンで使用可能なエクスペリエンスでの通知の設定方法については、「[リポジトリ通知の設定](https://github.com/awsdocs/aws-codecommit-user-guide/blob/master/doc_source/how-to-repository-email-create.2.md)」を参照してください。

コンソールまたは を使用して AWS CLI 、通知ルールを作成できます AWS CodeCommit。<a name="notification-rule-create-console"></a>

# 通知ルールを作成するには (コンソール)
<a name="notification-rule-create-console"></a>

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codecommit/](https://console.aws.amazon.com/codecommit/) で CodeCommit コンソールを開きます。

1. [**リポジトリ**] を選択し、通知ルールを追加するリポジトリを選択します。

1. レポジトリページで、[**Notify (通知)**]、[**Create notification rule (通知ルールの作成)**] の順に選択します。レポジトリの [**Settings (設定)**] ページに移動し、[**Create notification rule (通知ルールの作成)**] を選択することもできます。

1. [**通知名**] に、ルールの名前を入力します。

1. Amazon EventBridge に提供された情報のみを通知に含める場合は、**[Detail type (詳細タイプ)]** で **[Basic (基本)]** を選択します。Amazon EventBridge に提供される情報に加えて、CodeCommit または通知マネージャから提供される場合がある情報も含める場合は、**[Full (完全)]** を選択します。

   詳細については、「[通知の内容とセキュリティについて](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/security.html#security-notifications)」を参照してください。

1.  [**Events that trigger notifications (通知をトリガーするイベント)**] で、通知を送信するイベントを選択します。詳細については、「[ リポジトリでの通知ルールのイベント](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/concepts.html#events-ref-repositories)」を参照してください。

1. [**Targets (ターゲット)**] で、次のいずれかの操作を行います。
   + 通知で使用するリソースを設定済みである場合は、**[ターゲットタイプを選択]** で、**[チャットアプリケーションの Amazon Q Developer (Slack)]** または **[SNS トピック]** を選択します。**[ターゲットを選択]** で、クライアントの名前 (チャットアプリケーションの Amazon Q Developer で設定した Slack クライアントの場合) または Amazon SNS トピックの Amazon リソースネーム (ARN) (通知に必要なポリシーが設定済みである Amazon SNS トピックの場合) を選択します。
   + 通知で使用するリソースを設定していない場合は、[**Create target**]、[**SNS topic**] の順に選択します。**codestar-notifications-** の後にトピックの名前を指定し、[**Create**] を選択します。
**注記**  
通知ルールの作成の一環として Amazon SNS トピックを作成すると、トピックへのイベント発行を通知機能に許可するポリシーが適用されます。通知ルール用に作成したトピックを使用すると、このリソースに関する通知を受信するユーザーのみをサブスクライブできます。
通知ルールの作成の一環としてチャットアプリケーションの Amazon Q Developer クライアントを作成することはできません。チャットアプリケーションの Amazon Q Developer (Slack) を選択すると、チャットアプリケーションで Amazon Q Developer でクライアントを設定するように指示するボタンが表示されます。このオプションを選択すると、チャットアプリケーションの Amazon Q Developer コンソールが開きます。詳細については、[「通知とチャットアプリケーションの Amazon Q Developer との統合の設定](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/notifications-chatbot.html)」を参照してください。
既存の Amazon SNS トピックをターゲットとして使用する場合は、このトピック用の他のすべてのポリシーに加えて、AWS CodeStar Notifications に必要なポリシーを追加する必要があります。詳細については、「[通知用の Amazon SNS トピックを設定する](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/set-up-sns.html)」および「[通知の内容とセキュリティについて](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/security.html#security-notifications)」を参照してください。

1. ルールの作成を終了するには、[**Submit (送信)**] を選択します。

1. 通知を受け取るには、そのルールの Amazon SNS トピックにユーザーをサブスクライブする必要があります。詳細については、「[ターゲットである Amazon SNS トピックへのユーザーのサブスクライブ](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/subscribe-users-sns.html)」を参照してください。また、通知と Amazon Q Developer in chat applications を統合して、Amazon Chime チャットルームに通知を送信することもできます。詳細については、「[通知とチャットアプリケーションの Amazon Q Developer との統合の設定](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/notifications-chatbot.html)」を参照してください。<a name="notification-rule-create-cli"></a>

# 通知ルールを作成するには (AWS CLI)
<a name="notification-rule-create-cli"></a>

1. ターミナルまたはコマンドプロンプトで、**create-notification rule** コマンドを実行して、JSON スケルトンを生成します。

   ```
   aws codestar-notifications create-notification-rule --generate-cli-skeleton > rule.json
   ```

   ファイルには任意の名前を付けることができます。この例では、ファイルの名前を *rule.json* とします。

1. プレーンテキストエディタで JSON ファイルを開き、これを編集してルールに必要なリソース、イベントタイプ、ターゲットを含めます。次の例は、ID *123456789012* の AWS アカウントの *MyDemoRepo* という名前のリポジトリ**MyNotificationRule**に という名前の通知ルールを示しています。ブランチとタグが作成されると、完全な詳細タイプの通知は、*MyNotificationTopic* という Amazon SNS トピックに送信されます。

   ```
   {
       "Name": "MyNotificationRule",
       "EventTypeIds": [
           "codecommit-repository-branches-and-tags-created"
       ],
       "Resource": "arn:aws:codecommit:us-east-1:123456789012:MyDemoRepo",
       "Targets": [
           {
               "TargetType": "SNS",
               "TargetAddress": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic"
           }
       ],
       "Status": "ENABLED",
       "DetailType": "FULL"
   }
   ```

   ファイルを保存します。

1. 先ほど編集したファイルを使用して、ターミナルまたはコマンドラインで、**create-notification-rule** コマンドを再度実行し、通知ルールを作成します。

   ```
   aws codestar-notifications create-notification-rule --cli-input-json  file://rule.json
   ```

1. 成功すると、コマンドは次のような通知ルールの ARN を返します。

   ```
   {
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
   }
   ```

# 通知の変更または無効化
<a name="how-to-repository-email-console-edit"></a>

 AWS CodeCommit コンソールを使用して、ユーザーに E メールを送信するイベントタイプや、リポジトリに関する E メールを送信するために使用される Amazon SNS トピックなど、2019 年 11 月 5 日より前に作成された通知の設定方法を変更できます。また、CodeCommit コンソールを使用して、トピックにサブスクライブされている E メールアドレスおよびエンドポイントのリストの管理や、通知の無効化を行うこともできます。<a name="how-to-repository-email-change-console"></a>

**通知の設定を変更するには**

1. [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home) で CodeCommit コンソールを開きます。

1. [**Repositories (リポジトリ)**] で、2019 年 11 月 5 日以前に作成された通知を設定するリポジトリの名前を選択します。

1. ナビゲーションペインで、[**Settings**] を選択し、[**Notifications**] を選択します。通知ルールではなく通知があることを知らせるバナーが表示された場合は、[**Manage existing notifications (既存の通知の管理)**] を選択します。

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

1. 変更を行ってから、[**Save**] を選択します。

通知を無効にすると、簡単にユーザーが一時的にリポジトリイベントに関する E メールを受信しないようにできます。

2019 年 11 月 5 日以前に作成された通知を完全に削除するには、「[通知の削除](how-to-repository-email-delete.md)」の手順に従います。<a name="how-to-repository-email-disable-console"></a>

**通知を無効化するには**

1. [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home) で CodeCommit コンソールを開きます。

1. [**Repositories (リポジトリ)**] で、通知を無効にするリポジトリの名前を選択します。

1. ナビゲーションペインで、[**Settings**] を選択し、[**Notifications**] を選択します。[**Manage existing notifications (既存の通知の管理)**] を選択します。

1. [**編集**] を選択し、[**Event status (イベントのステータス)**] で、スライダーを使用して [**Enable notifications (通知の有効化)**] をオフにします。[**保存**] を選択します。

1. イベントステータスが [**Disabled (無効)**] に変わります。イベントに関する E メールは送信されません。通知を無効にすると、リポジトリの CloudWatch Events ルールは自動的に無効になります。CloudWatch Events コンソールで、そのステータスを手動で変更しないでください。

# 通知の削除
<a name="how-to-repository-email-delete"></a>

2019 年 11 月 5 日以前にリポジトリ用に作成された通知が不要になった場合は、通知に関連付けられた Amazon CloudWatch Events ルールを削除できます。これにより、通知が自動的に削除されます。通知に使用されるサブスクリプションまたは Amazon SNS トピックは削除されません。

**注記**  
コンソールからリポジトリの名前を変更すると、2019 年 11 月 5 日以前に作成された通知は変更されず引き続き機能します。ただし、コマンドラインまたは API を使用してリポジトリの名前を変更した場合は、通知は機能しなくなります。通知設定を削除して通知を再設定するのが、復元する最も簡単な方法です。<a name="how-to-repository-email-delete-console"></a>

**通知設定を削除するには**

1. [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home) で CodeCommit コンソールを開きます。

1. [**Repositories (リポジトリ)**] で、2019 年 11 月 5 日以前に作成された通知を削除するリポジトリの名前を選択します。

1. ナビゲーションペインで、[**Settings**] を選択し、[**Notifications**] を選択します。通知ルールではなく通知があることを知らせるバナーが表示された場合は、[**Manage existing notifications (既存の通知の管理)**] を選択します。

1. [**CloudWatch event rule (CloudWatch イベントルール)**] で、通知用に作成されたルールの名前をコピーします。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) で CloudWatch コンソールを開きます。

1. [**イベント**] の [**ルール**] を選択します。[**名前**] に、通知用に作成されたルールの名前を貼り付けます。ルールを選択し、[**アクション**] の [**削除**] を選択します。

1. (オプション) 通知設定削除後に通知に使用する Amazon SNS トピックを変更または削除するには、Amazon SNS コンソール ([https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)) に移動します。詳細については、『[Amazon Simple Notification Service デベロッパーガイド](https://docs.aws.amazon.com/sns/latest/dg/)』の「[クリーンアップ](https://docs.aws.amazon.com/sns/latest/dg/CleanUp.html)」を参照してください。