github的webhooks简记

来源:互联网 发布:淘宝客服用语技巧 编辑:程序博客网 时间:2024/06/06 13:14
  1. hooks中文翻译"钩子",也就是当一定事件触发的情况下会执行的动作
  2. webhooks,也就是使用http协议将该钩子函数触发的消息发送到特定url地址

首先看一下github的操作界面:

这里写图片描述

其中Payload URL,也就是钩子触发后发送的URL地址,Content type就是发送的消息类型,Secret就是密钥,验证该请求来自github.至于如何验证,暂时就不清楚了.

which events would you like to trigger this webhooks ?就是设置钩子的触发机制,第一个Jush the push event,当有人将代码提交到该仓库(git push)时,触发钩子函数,发送请求.第二个Send me everything,就是当有人对该仓库执行任何操作后,拉取,评论等,都会触发钩子,发送请求,最后的Let me select individual events,则是一堆的选择:

这里写图片描述

这里只是做了一个截图,还有很多内容,是自由度最大的.

注意,webhooks只是发送请求,表示有人在github上执行了对应的操作,之后如何处理该操作,就是需要额外的程序了,比如设想以下一个场景:

一个插件项目托管在git上,多个项目都使用该插件.后期对该插件进行更新,则为了保证最新的提交能够生效,则需要登录各个项目的目录下,使用git拉取最新的代码.

这个时候无疑是麻烦的,但是当使用了webhooks之后,当该插件更新后,则发送一个POST请求到对应的服务器,该服务器上可以使用多种语言编写一个脚本,自动从git上下载最新的代码,一来减少了人为出错的可能,二来减轻了工作量.

这里顺道记录两篇我查到的使用PHP脚本编写上面提到的自动拉取代码的实际操作的文章:

午时的海 利用WebHook实现PHP自动部署Git代码

overtrue 使用PHP脚本远程部署git项目

原创粉丝点击