建立通知規則 - AWS CodePipeline

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

建立通知規則

您可以使用通知規則向使用者通知有重要的變更,例如管道開始執行時。通知規則指定用於傳送通知的事件和 Amazon SNS 主題。如需詳細資訊,請參閱什麼是通知?

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

建立通知規則 (主控台)

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

  2. 選擇 Pipelines (管道),然後選擇您要新增通知的管道。

  3. 在管道頁面上,選擇 Notify (通知),然後選擇 Create notification rule (建立通知規則)。您也可以移至管道的 Settings (設定) 頁面,然後選擇 Create notification rule (建立通知規則)

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

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

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

  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 聊天室或 Slack 頻道。如需詳細資訊,請參閱設定通知與之間的整合 AWS Chatbot

建立通知規則 (AWS CLI)

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

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

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

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

    { "Name": "MyNotificationRule", "EventTypeIds": [ "codepipeline-pipeline-pipeline-execution-started" ], "Resource": "arn:aws:codebuild:us-east-2:123456789012:MyDemoPipeline", "Targets": [ { "TargetType": "SNS", "TargetAddress": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-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" }