Slack
Slack 通知可让您直接在 Slack 频道中实时接收 Semaphore 工作流(Workflow)的更新。此集成(Integration)帮助团队及时了解构建状态、部署结果和其他重要事件,而无需频繁查看 Semaphore 仪表盘。
要设置 Slack 通知,您需要创建一个 Webhook URL,将 Semaphore 连接到目标 Slack 频道。此 Webhook 充当两个平台之间安全的通信桥梁。
创建 Slack Webhook
第 1 步:打开 Slack API 设置
- 访问 https://api.slack.com/apps。
- 点击 Create New App → 选择 From Scratch。
- 为您的应用命名(例如
Semaphore Bot),并选择您的 Slack 工作区。
第 2 步:启用 Incoming Webhooks
- 在应用设置中,进入 Features → Incoming Webhooks。
- 将 Activate Incoming Webhooks 切换为 On。
第 3 步:创 建 Webhook URL
-
点击 Add New Webhook to Workspace。
-
选择要接收消息的频道。
-
点击 Allow。
-
您将看到类似如下的 Webhook URL:
https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx
第 4 步:测试您的 Webhook
使用 curl 进行测试:
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"Hello from Semaphore UI 🚀"}' \
https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx
如果一切设置正确,您将在 所选的 Slack 频道中看到该消息。
Semaphore 配置
获得 Slack Webhook URL 后,您可以通过多种方式配置 Semaphore 发送通知:
您可以使用配置文件或环境变量来启用 Slack 通知。
方法 1:配置文件
将以下设置添加到您的 Semaphore 配置文件中:
slack_alert:设置为true以启用 Slack 通知slack_url:上一步中获得的 Webhook URL
config.json 示例:
{
"slack_alert": true,
"slack_url": "https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx",
}
方法 2:环境变量
或者,您也可以使用环境变量来配置 Slack 通知。这种方法特别适用于容器化部署,或者当您希望将敏感信息与配置文件分开存放时。
SEMAPHORE_SLACK_ALERT=True
SEMAPHORE_SLACK_URL=https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx