你能在同一个 Gitlab 存储库上设置 2 个不同的 Slack webhooks 吗?
Can you setup 2 different Slack webhooks on a same Gitlab repository?
我有两个 slack 频道:Team A 和 Team B。
我有一个 Gitlab 仓库,有两个分支:分支 A 和分支 B。
我想设置两个 webhook:当分支 A 发生推送时,一条消息会在 Slack 频道团队 A 上发送。当推送发生在分支 B 上时,一条消息会在 Slack 频道团队 B 上发送。
我认为我们不能使用 Gitlab 的 Webhooks 部分,我们必须使用 this Stack Overflow question 中描述的 Slack Integration 部分。
在 Gitlab 的 Slack Integragtion 上,我只能为其中一个松弛通道输入一个 url 而不是 2:
有人知道解决方法吗?
我认为没有仅使用 webhook 的解决方法,这就是 Akshay Kapoor wrote an alternative solution "Custom Slack Integrations for Gitlab CI/CD Pipelines"
的原因
想法是使用 GitLab CI/CD feature(构建在 GitLab 服务器端,而不是在客户端发送事件的 WebHooks)
最终结果:
想法是,在服务器端的脚本 运行 上,您可以控制和添加您想要的任何条件(例如被推送的分支)以重定向您的 Slack 通知。
Akshay 使用 Slack Block Kit (and its playground) 来构建其通知消息。
然后他发帖:
function share_slack_update() {
curl -X POST \
--data-urlencode "payload=$(print_slack_summary)" \
"${SLACK_WEBHOOK}"
}
我有两个 slack 频道:Team A 和 Team B。
我有一个 Gitlab 仓库,有两个分支:分支 A 和分支 B。
我想设置两个 webhook:当分支 A 发生推送时,一条消息会在 Slack 频道团队 A 上发送。当推送发生在分支 B 上时,一条消息会在 Slack 频道团队 B 上发送。
我认为我们不能使用 Gitlab 的 Webhooks 部分,我们必须使用 this Stack Overflow question 中描述的 Slack Integration 部分。
在 Gitlab 的 Slack Integragtion 上,我只能为其中一个松弛通道输入一个 url 而不是 2:
有人知道解决方法吗?
我认为没有仅使用 webhook 的解决方法,这就是 Akshay Kapoor wrote an alternative solution "Custom Slack Integrations for Gitlab CI/CD Pipelines"
的原因想法是使用 GitLab CI/CD feature(构建在 GitLab 服务器端,而不是在客户端发送事件的 WebHooks)
最终结果:
想法是,在服务器端的脚本 运行 上,您可以控制和添加您想要的任何条件(例如被推送的分支)以重定向您的 Slack 通知。
Akshay 使用 Slack Block Kit (and its playground) 来构建其通知消息。
然后他发帖:
function share_slack_update() {
curl -X POST \
--data-urlencode "payload=$(print_slack_summary)" \
"${SLACK_WEBHOOK}"
}