View a markdown version of this page

建立通知規則 - 開發人員工具主控台

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立通知規則

您可以使用開發人員工具主控台或 AWS CLI 來建立通知規則。您可以將 Amazon SNS 主題建立為通知規則的目標,做為建立規則的一部分。如果您想要使用 AWS Chatbot 用戶端做為目標,您必須先建立該用戶端,才能建立規則。如需詳細資訊,請參閱設定 Slack 頻道的 AWS Chatbot 用戶端。

建立通知規則 (主控台)

  1. 開啟位於 https://https://console.aws.amazon.com/codesuite/settings/notifications 的 AWS 開發人員工具主控台。

  2. 使用導覽列瀏覽至資源。

    • 針對 CodeBuild,請選擇 Build (建置),選擇 Build projects (建置專案),然後選擇一個建置專案。

    • 針對 CodeCommit,選擇 Source (來源),選擇 Repositories (儲存庫),然後選擇一個儲存庫。

    • 針對 CodeDeploy,選擇 Applications (應用程式),然後選擇一個應用程式。

    • 針對 CodePipeline,選擇 Pipeline (管道),選擇 Pipelines (管道),然後選擇一個管道。

  3. 在資源頁面上,選擇 Notify (通知),然後選擇 Create notification rule (建立通知規則)。您也可以前往資源的 Settings (設定) 頁面,前往 Notifications (通知) 或 Notification rules (通知規則),然後選擇 Create notification rule (建立通知規則)。

  4. 在 Notification name (通知名稱) 中,輸入規則的名稱。

  5. 如果您只希望提供給 Amazon EventBridge 的資訊包含在通知中,請在 Detail type (詳細資訊類型) 中,選擇 Basic (基本)。如果您想包含提供給 Amazon EventBridge 的資訊,以及可能由資源服務或通知管理工具提供的資訊,請選擇 Full (完整)。

    如需詳細資訊,請參閱了解通知內容和安全性。

  6. 在 Events that trigger notifications (觸發通知的事件) 中,選取您要傳送通知的事件。如需資源的事件類型,請參閱下列各項:

  7. 在 Targets (目標) 中,執行下列其中一個動作:

    • 如果您已設定要與通知搭配使用的資源,請在選擇目標類型中,AWS Chatbot (Slack)、AWS Chatbot (Microsoft Teams) 或 SNS topic。在選擇目標中,選擇用戶端的名稱 (適用於在 AWS Chatbot 中設定的 Slack 或 Microsoft Teams 用戶端) 或 Amazon SNS 主題的 Amazon Resource Name (ARN) (適用於已設定通知所需政策的 Amazon SNS 主題)。

    • 如果您尚未設定要與通知搭配使用的資源,請選擇 Create target (建立目標),然後選擇 SNS topic (SNS 主題)。在 codestar-notifications- 之後,提供主題名稱,然後選擇 Create (建立)。

    注意
    • 如果您在建立通知規則的過程中建立 Amazon SNS 主題,將會為您套用允許通知功能將事件發佈至主題的政策。使用針對通知規則建立的主題,有助於確保您只訂閱需要接收此資源相關通知的使用者。

    • 您無法在建立通知規則時建立 AWS Chatbot 用戶端。如果您選擇 AWS Chatbot (Slack) 或 AWS Chatbot (Microsoft Teams),您會看到一個按鈕,指示您在 AWS Chatbot 中設定用戶端。選擇該選項會開啟 AWS Chatbot 主控台。如需詳細資訊,請參閱設定 Slack 頻道的 AWS Chatbot 用戶端。

    • 如果您想要使用現有的 Amazon SNS 主題做為目標,除了該主題可能存在的任何其他政策之外,還必須新增 AWS CodeStar Notifications 所需的政策。如需詳細資訊,請參閱設定通知的 Amazon SNS 主題及了解通知內容和安全性。

  8. 選擇 Submit (提交),然後檢閱通知規則。

    注意

    使用者必須訂閱並確認您指定為規則目標的 Amazon SNS 主題訂閱,才能收到通知。如需詳細資訊,請參閱讓使用者訂閱用於通知的 Amazon SNS 主題。

建立通知規則 (AWS CLI)

  1. 在終端機或命令提示字元中,執行 create-notification rule 命令,以產生 JSON 基本結構。

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

    您可以將檔案命名為任何您想要的名稱。在此範例中,檔案命名為 rule.json。

  2. 在純文字編輯器中開啟 JSON 檔案,並編輯成包含您想要用於規則的資源、事件類型和 Amazon SNS 目標。

    下列範例顯示 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" }

    儲存檔案。

  3. 在終端機或命令列中,再次執行 create-notification-rule 命令,使用您剛編輯的檔案建立通知規則。

    aws codestar-notifications create-notification-rule --cli-input-json file://rule.json
  4. 如果成功,此命令會傳回通知規則的 ARN,如下所示。

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

列出通知規則的事件類型 (AWS CLI)

  1. 在終端機或命令提示字元中,執行 list-event-types 命令。您可以使用 --filters 選項,將回應限制為特定資源類型或其他屬性。例如,以下命令會傳回 CodeDeploy 應用程式的事件類型清單。

    aws codestar-notifications list-event-types --filters Name=SERVICE_NAME,Value=CodeDeploy
  2. 此命令會產生類似下列的輸出。

    { "EventTypes": [ { "EventTypeId": "codedeploy-application-deployment-succeeded", "ServiceName": "CodeDeploy", "EventTypeName": "Deployment: Succeeded", "ResourceType": "Application" }, { "EventTypeId": "codedeploy-application-deployment-failed", "ServiceName": "CodeDeploy", "EventTypeName": "Deployment: Failed", "ResourceType": "Application" }, { "EventTypeId": "codedeploy-application-deployment-started", "ServiceName": "CodeDeploy", "EventTypeName": "Deployment: Started", "ResourceType": "Application" } ] }

新增標籤到通知規則 (AWS CLI)

  1. 在終端機或命令提示字元中,執行 tag-resource 命令。例如,使用下列命令來新增名稱為 Team 且值為 Li_Juan 的標籤金鑰/值對。

    aws codestar-notifications tag-resource --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/fe1efd35-EXAMPLE --tags Team=Li_Juan
  2. 此命令會產生類似下列的輸出。

    { "Tags": { "Team": "Li_Juan" } }