最近参考linty_fresh实现了一个webhook服务,
提PR自动检查Flake8, 当有代码风格问题的时候,并在对应位置发评论
项目地址是: gandalf
在公司内的Github企业版上, 已经用了一段时间, 比较稳定. 现在开源出来, 有兴趣的可以拿去^.^
这个项目也是我的学习asyncio的练手作品, 吐槽下Type Hints让代码显的好丑哇…
来几张截图看个效果:
12345678910111213141516 | ❯ cat gandalf/config.pyWORK_DIR = \’/tmp/repositories\’ # 设定克隆的项目版本库代码存放位置FLAKE8_EXECUTABLE = \’/usr/local/bin/flake8\’ # 这个项目时Python3的,但是目前大部分应用还是Python2的, 所以需要Python2版本的flake8HOST = \’0.0.0.0\’PORT = 8080DEBUG = FalseREPORT_NO_MATCHING = False # 没有在diff列表的文件的错误是否也报告GITHUB_URL = \’http://github.com/\’ # 行尾要加反斜杠GITHUB_API_URL = \’https://api.github.com\’ # 行尾不要加反斜杠REPORT_CLOSEST = False # 错误出现在PR列出的文件中, 但是修改并不是此次PR中的diff里面是否报告COMMENT_HEADER = \’\’ # 上述截图出现的emoji头部就是指定它, 我的设置是`COMMENT_HEADER = \’:sparkles:Subject Bot:sparkles:\’` try: from local_settings import *except ImportError: pass |
需要在github的项目/组织设置页,找到Webhooks
, 然后Add webhook
,
Payload URL
输入 http://192.168.1.1:28030/api/hooks # 或者你跑起来web服务的地址Let me select individual events.
然后勾选Pull Request
如图:
Enjoy it
上一篇:PyPy.js: 第一步