我可以自定义通过 Slack 的 AWS Chatbot 集成接收到的消息吗?
Can I customize messages received through Slack's AWS Chatbot integration?
目前,我们已经为 Slack 设置了 AWS Chatbot 集成,以接收有关 CodePipeline 的通知 - CodeBuilds 的结果和 CodePipeline 所有阶段的状态。我注意到开箱即用的集成消息不像我想要的那样具有描述性。
例如:如果构建由于单元测试失败而失败,聊天机器人将输出 POST_BUILD: COMMAND_EXECUTION_ERROR: Error while executing command: <command>. Reason: exit status 1
这很好,但我更愿意将该消息更改为更具描述性的内容 - 告诉我测试失败了。
我认为 Chatbot 订阅了 SNS 主题,一旦这些主题被发送出去,它就会 post 在 Slack 上发送一条消息。有没有办法自定义它发送的消息内容?
更新:进一步阅读文档后,我发现我们无法修改 aws 聊天机器人中的事件消息。
I get an "Event received is not supported" error
尽管以下方法是正确的,但 AWS Chatbot 不支持通知的发起服务。
Using AWS Chatbot with other AWS services
你可以像下面这样自定义 Event Rule
,我选择 FAILED
状态你可以自定义你想要的任何事件然后订阅一个 lambda 到它你可以构建一个有意义的消息然后将其发送到 AWS Chatbot
订阅的 SNS 主题:
{
"source": [
"aws.codepipeline"
],
"detail-type": [
"CodePipeline Action Execution State Change"
],
"detail": {
"state": [
"FAILED"
]
}
}
我为 PagerDuty 调用做了类似的事情,以便值班人员收到正确的消息,并在警报中附加了更多信息。
官方回答没有,但我发现了一个解决方法。您可以使用 Cloudwatch EventBridge 消息并根据您的喜好调整它们。
简单的说
发布以下消息
{
"version": "0",
"id": "13cde686-328b-6117-af20-0e5566167482",
"detail-type": "Your custom message",
"source": "aws.ecr",
"account": "123456789012",
"time": "2019-11-16T01:54:34Z",
"region": "azAZ0-9!-_/|?!.,",
"resources": [],
"detail": {}
}
你会看到类似
的东西
并且您可以根据some limitations
自由编辑地区、详情类型和账户
目前,我们已经为 Slack 设置了 AWS Chatbot 集成,以接收有关 CodePipeline 的通知 - CodeBuilds 的结果和 CodePipeline 所有阶段的状态。我注意到开箱即用的集成消息不像我想要的那样具有描述性。
例如:如果构建由于单元测试失败而失败,聊天机器人将输出 POST_BUILD: COMMAND_EXECUTION_ERROR: Error while executing command: <command>. Reason: exit status 1
这很好,但我更愿意将该消息更改为更具描述性的内容 - 告诉我测试失败了。
我认为 Chatbot 订阅了 SNS 主题,一旦这些主题被发送出去,它就会 post 在 Slack 上发送一条消息。有没有办法自定义它发送的消息内容?
更新:进一步阅读文档后,我发现我们无法修改 aws 聊天机器人中的事件消息。
I get an "Event received is not supported" error
尽管以下方法是正确的,但 AWS Chatbot 不支持通知的发起服务。
Using AWS Chatbot with other AWS services
你可以像下面这样自定义 Event Rule
,我选择 FAILED
状态你可以自定义你想要的任何事件然后订阅一个 lambda 到它你可以构建一个有意义的消息然后将其发送到 AWS Chatbot
订阅的 SNS 主题:
{
"source": [
"aws.codepipeline"
],
"detail-type": [
"CodePipeline Action Execution State Change"
],
"detail": {
"state": [
"FAILED"
]
}
}
我为 PagerDuty 调用做了类似的事情,以便值班人员收到正确的消息,并在警报中附加了更多信息。
官方回答没有,但我发现了一个解决方法。您可以使用 Cloudwatch EventBridge 消息并根据您的喜好调整它们。
简单的说
发布以下消息
{
"version": "0",
"id": "13cde686-328b-6117-af20-0e5566167482",
"detail-type": "Your custom message",
"source": "aws.ecr",
"account": "123456789012",
"time": "2019-11-16T01:54:34Z",
"region": "azAZ0-9!-_/|?!.,",
"resources": [],
"detail": {}
}
你会看到类似
的东西并且您可以根据some limitations
自由编辑地区、详情类型和账户