我想创建一个GitHub Web挂钩,用于扫描正在提交的文件的名称和内容,如果特定令牌出现在其中,则不允许提交。
我找到了GitHub webhook documentation,很明显可以捕获很多事件,包括push event。 JSON对象中有很多可用push事件发送的数据,包括提交数组,它是一个提交对象数组,用于描述推送的提交。 (该数组最多包含20个提交。如有必要,您可以使用Commits API获取其他提交。此限制仅适用于时间轴事件,并且不适用于webhook交付。)"
但是,目前尚不清楚如何将其转换为文件名和文件内容列表。
我该怎么做?
答案 0 :(得分:0)
webhook是一个服务器端钩子,只需使用JSON有效负载调用任何所需的URL。
这意味着实际的钩子(监听webhook)将在任何你想要的地方生活(意思是,不是在GitHub端)
并且不要忘记,当钩子被触发时,提交已被推送,并且不容易被拒绝" (也许还原?)
您的webhook监听器可以在本地仓库中提取list files,用于分析。
另外,{{1}}将拉所有推送的提交,而不仅仅是" 20"
如果他们的文件内容与您的政策相符,它可以使用所述本地存储作为网关,将提交的内容推送到最终目标远程仓库。
这是另一种接受"接受"或"拒绝"提交webhook场景。