为 Github 拉取请求自定义松弛通知

问题描述 投票:0回答:1

我有一个用例,其中每次针对 develop 分支提出拉取请求时,都需要将通知发送到带有 PR 链接的松弛通道,可能还有关于哪个用户打开它的信息。

我不知道该走哪条路

  1. 发布到 slack 的 Github 操作
  2. Slack 的 Github 应用程序(https://github.com/integrations/slack#configuration

通过https://github.com/integrations/slack#configuration后,我看到了使用

/github subscribe org/repo pulls
订阅拉取请求的选项,但这不允许自定义(例如只通知PR开发,不是每个 PR)

Github 操作有方法指定仅在为开发提出拉取请求时运行,但由于它是特定于存储库的,我必须将工作流文件推送到 100 多个存储库

当 PR 被提升(未合并)到特定分支并可自定义(例如添加打开 PR 的用户信息)时,是否有更好的解决方案/自动化发布到 slack?

github slack github-actions pull-request
1个回答
0
投票

您可以在 GitHub 中创建一个 webhook,并将其指向 Microsoft 的 Power AutomateIFTTT 或类似工具。然后,您将有效负载转换并转发到 slack 的 API 端点。我过去曾转发到 Azure Functions,以允许我使用选择的编程语言(节点、C#、PowerShell、Python,随便你怎么说)来转发事件。

这使您可以完全控制消息内容,并允许您在转发消息时对存储库、分支或其他方式进行任何过滤。

然而,您必须自己在您选择用作转发器的工具中进行一些配置。

还有一些商业解决方案将提供这种类型的集成。 Axolo 提供了这样的功能。

有一些限制,您可以使用必需的工作流程一次向所有存储库注册一个工作流程。这仅适用于 PR 触发器(这似乎符合您的要求)并且仅适用于默认分支(这可能对您来说足够了)。

使用可调用工作流复合操作您将能够最大限度地减少必须复制到所有存储库的工作流数量,但会保留对每个存储库中所需的确切触发器的控制。

© www.soinside.com 2019 - 2024. All rights reserved.