Amazon web services codepipeline中是否有API返回管道失败的原因消息?

Amazon web services codepipeline中是否有API返回管道失败的原因消息?,amazon-web-services,aws-codepipeline,Amazon Web Services,Aws Codepipeline,用例 我想提取代码管道失败的原因,并将该信息作为电子邮件发送。在codepipeline控制台中,我可以在“最新操作执行消息”标题下看到以下消息 是否有任何方法可以使用任何Codepipeline API方法提取此消息。因为我测试了大多数AWS cli codepipeline命令,但没有找到这些信息 谢谢 谢谢你的帮助 您可以使用SNS设置电子邮件通知,然后将管道配置为向相应的SNS主题发送警报 您可以阅读中的详细步骤 由于默认通知不包括作业失败消息,因此您需要编写一个Lambda函数,该函数

用例

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

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

谢谢 谢谢你的帮助


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

您可以阅读中的详细步骤


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

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


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

谢谢@jweyrichs。我知道这个选择。但是我想要控制台中显示的消息。这样,他一看到邮件就会知道原因,而不是进去检查。你可以写一个Lambda来帮你做这件事。配置您的SNS主题以触发Lambda函数,该函数接收CodePipeline状态更改对象并根据您的意愿格式化电子邮件。这正是我正在做的。基于此文档,codepipeline仅将这些事件结构发送到目标(即Lambda、SNS)。在该事件结构中没有
消息字段
。由于控制台中显示了
错误消息
,我的预感是aws可能使用了一些API方法来检索此信息。对。我相信只有我能带给你这些信息。lambda在状态更改时接收的事件对象也包含管道名称,因此您可以将其传递到
getPipelineState
以检索错误消息。谢谢。这就是我要找的。你能把上面的
API
写进你的答案吗。因此,我将接受它。每当我尝试访问
ListActionExecutions
API时,它都会在
aws cli
lambda
中抛出错误。在lambda中,错误如下
codepipeline.listActionExecutions不是一个函数。您可能需要更新版本的SDK或CLI。