建立通知規則 - AWS CodeBuild

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

建立通知規則

您可以使用通知規則,以在發生重要變更 (例如建置成功和失敗) 時通知使用者。通知規則指定用於傳送通知的事件和 Amazon SNS 主題。如需詳細資訊,請參閱什麼是通知?

您可以使用主控台或 AWS CLI 為 AWS CodeBuild 建立通知規則。

建立通知規則 (主控台)

  1. 請登入AWS Management Console並開啟 CodeBuild 主控台,網址為 https://console.aws.amazon.com/codebuild/

  2. 選擇 Build (建置),選擇 Build projects (建置專案),然後選擇您要新增通知的建置專案。

  3. 在建置專案頁面上,選擇 Notify (通知),然後選擇 Create notification rule (建立通知規則)。您也可以前往建置專案的 Settings (設定) 頁面,然後選擇 Create notification rule (建立通知規則)

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

  5. 如果您只想要提供給 Amazon 的資訊 EventBridge 包含在通知中,請在 [詳細資料類型] 中選擇 [基本]。如果您想要包含提供給 Amazon 的資訊以 EventBridge 及可能由 CodeBuild 或通知管理員提供的資訊,請選擇「整」。

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

  6. Events that trigger notifications (觸發通知的事件) 中,選取您要傳送通知的事件。如需詳細資訊,請參閱組建專案上通知規則的事件

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

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

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

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

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

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

  8. 若要完成建立規則,請選擇 Submit (提交)

  9. 您必須先訂閱使用者訂閱規則的 Amazon SNS 主題,才能收到通知。如需詳細資訊,請參閱訂閱使用者訂閱屬於目標的 Amazon SNS 主題。您也可以設定通知之間的整合,並AWS Chatbot將通知傳送到 Amazon Chime 聊天室。如需詳細資訊,請參閱設定通知和 AWS Chatbot 之間的整合

建立通知規則 (AWS CLI)

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

    aws codestarnotifications create-notification-rule --generate-cli-skeleton > rule.json

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

  2. 在純文字編輯器中開啟 JSON 檔案,並編輯成包含您想要用於規則的資源、事件類型和目標。下列範例會顯示AWS針對識別碼MyNotificationRule123 456789012 的帳戶MyBuildProject中名為的建置專案命名的通知規則。建置成功MyNotificationTopic時,會將通知與完整詳細資料類型一起傳送至名為 codestar-通知的 Amazon SNS 主題:

    { "Name": "MyNotificationRule", "EventTypeIds": [ "codebuild-project-build-state-succeeded" ], "Resource": "arn:aws:codebuild:us-east-2:123456789012:MyBuildProject", "Targets": [ { "TargetType": "SNS", "TargetAddress": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyNotificationTopic" } ], "Status": "ENABLED", "DetailType": "FULL" }

    儲存檔案。

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

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

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