codepipeline 中是否有任何 API returns 管道失败的消息?

Is there any API in codepipeline that returns the message why pipeline got failed?

用例

我想提取我的代码管道失败的原因并将该信息作为电子邮件发送。在代码管道控制台中,我可以在“最新操作执行消息”标题下看到以下消息。

有什么方法可以使用任何 Codepipeline API 方法提取此消息。因为我测试了大多数 AWS cli codepipeline 命令但没有找到此信息。

谢谢 感谢任何帮助

您可以使用 SNS 设置电子邮件通知,然后配置您的管道以将警报发送到相应的 SNS 主题。

您可以阅读 Tutorial: Set Up a CloudWatch Events Rule to Receive Email Notifications for Pipeline State Changes 中的详细步骤。

由于默认通知不包含作业失败消息,您需要编写一个 Lambda 函数来接收状态更改事件对象并调用 getPipelineState 函数以 return最后一条失败消息。

CodePipeline 的 CloudWatch 事件包含一个管道执行 ID,您可以使用它来调用 ListActionExecutions。 ListActionExecutions 将为您提供失败操作的状态,并且会随着时间的推移保持稳定。

GetPipelineState 具有给定阶段中最新管道执行的状态。管道执行有可能在失败之后和您收到 CloudWatch 事件之前进入一个阶段(因此您观察到错误的管道执行)。