每次有人运行terraform文件时通知slack

每次有人运行terraform文件时通知slack,terraform,slack,slack-api,terraform-provider-aws,Terraform,Slack,Slack Api,Terraform Provider Aws,我试图弄清楚,每当有人做了一件事,就通知一个空闲频道 terraform apply 我已经看过了,但这篇文章专门讨论了云观察警报。我想做一些简单的事情,在成功的terraform应用程序结束时,我可以通过调用webhook向slack发送通知 有人能给我指个方向吗,我可以想出一些办法来解决这个问题。只使用指针也会有所帮助。您可以通过使用来实现这一点,它允许您在创建资源后在本地运行一些可执行代码: resource "null_resource" "example2" { provisio

我试图弄清楚,每当有人做了一件事,就通知一个空闲频道

terraform apply
我已经看过了,但这篇文章专门讨论了云观察警报。我想做一些简单的事情,在成功的terraform应用程序结束时,我可以通过调用webhook向slack发送通知


有人能给我指个方向吗,我可以想出一些办法来解决这个问题。只使用指针也会有所帮助。

您可以通过使用来实现这一点,它允许您在创建资源后在本地运行一些可执行代码:

resource "null_resource" "example2" {
  provisioner "local-exec" {
    command = "curl -X POST 'https://yourchannel.slack.com/api/chat.postMessage?channel=CXXXXXXXX&token=xoxp-#####' -F 'text={\"text\": \"Terraform was applied\"}'"
  }
}

你为什么要这个?您想在这里实现什么?如果您将Terraform作为管道的一部分来执行,那么这个问题就变得容易多了。@ydaetskcoR我正在尝试构建一个小的回调插件,它可能能够执行通知,因为现在我不知道谁通过Terraform在我的团队中旋转什么,以及什么停止了,然后删除您的回调并运行它无论如何如果您想了解正在进行的业务,那么您需要让提供商了解一些相关信息,例如AWS的CloudTrail,但这是一个非常不同的问题,可能已经得到了回答。不过,provisioner只运行一次。即使在null_资源中,它也需要再次运行触发器。这并不能解决问题,但我不确定它是否可以用地形资源本身解决。此外该问题要求通知成功运行。即使出现故障,供应器也可能会运行。@BrandonMiller确切地说,我需要正确的结果,让它变得松弛。。谁、什么、何时、成功/失败/回滚您有什么解决方案吗?如果您有Terraform Cloud,您可以使用