宝塔插件 git远程部署工具增加gogs 平台自动部署

宝塔插件 git远程部署工具增加gogs 平台自动部署
此为gogs 中web钩子的配置运行结果

由于 Git远程仓库部署工具 2.1 中未兼容gogs 导致webhook钩子未能正常运行

解决方案:

在插件包中 WebHooks\init.py 文件中150行下方增加以下代码

  elif 'X-Gogs-Event' in request.headers:
            import hashlib
            import hmac
            sha256_sign = hmac.new(projectData['webhooks_password'].encode("utf-8"), request.data, hashlib.sha256).hexdigest()            

            if request.headers.get('X-Gogs-Signature') != sha256_sign:
                return_data["msg"] = "秘钥校验失败"
                return json.dumps(return_data)
            print("秘钥校验成功")
            
            
            if request.headers.get('X-Gogs-Event') != 'push':
                return_data["msg"] = "事件类型校验失败"
                return json.dumps(return_data)
            print("事件类型校验成功")
            
            
            if not request.json.get('ref').endswith('/'+projectData['branch']):
                return_data["msg"] = "分支校验失败"
                return json.dumps(return_data)
            print("分支校验成功")
            
宝塔插件 git远程部署工具增加gogs 平台自动部署
完整代码截图
宝塔插件 git远程部署工具增加gogs 平台自动部署
重启服务后即可

给TA打赏
共{{data.count}}人
人已打赏
博主产品易语言资源分享

逆云阁 Crontab定时计划任务执行模块v1.2易语言源码开源 支持单位秒

2020-7-30 18:09:06

杂七杂八资源分享

最新可用在线生成网址二维码的 API 接口

2020-9-17 14:49:47

1 条回复A文章作者M管理员
    个人中心
    购物车
    优惠劵
    今日签到
    有新私信 私信列表
    搜索