【发布时间】:2021-02-27 06:06:55
【问题描述】:
我们目前有一个 GitHub 存储库,其中我们的 master 分支受到保护,除了管理员之外的所有人,他们能够直接提交并推送到分支,而无需先打开拉取请求。我们正在寻找一种在管理员直接提交到master 时发送 Slack 通知的方法,以引起人们对分支保护被覆盖这一事实的关注。这可能是由于极端情况而故意发生的,或者在最坏的情况下是错误的(需要解决)。
这似乎可以通过 GitHub Slack action、作业/步骤定义上的 if 键以及来自 push 事件 JSON 的一些信息的组合来实现。
最后一部分是我卡住的地方:我没有看到一种明显的方法来使用 push 事件中包含的数据来区分违反我们的分支保护政策的一次性提交和正常/合规的拉取请求。
有人对这是否可能有任何想法吗?也许我应该将这个工作流附加到另一个事件,这会给我提供区分差异并启动 Slack 通知所需的信息?
【问题讨论】:
-
你可以使用这个请求来查看提交是否有任何关联的拉取请求:docs.github.com/en/rest/reference/…,你也可以检查谁是提交的作者,我认为这是足够的信息来区分提交,你怎么看?
-
@soltex 我认为您可以将其发布为答案。将推送的提交与任何合并 PR 的提交交叉引用似乎是解决此问题的唯一方法。
标签: github slack github-actions