用于构建github应用程序的库。
poebot的Python项目详细描述
Poebot
poebot是用于构建GitHub apps的python库。灵感来自Probot和 由Starlette提供动力。
要求
Python3.6+
安装
pip install poebot
您还需要安装asgi服务器,例如uvicorn:
pip install uvicorn
环境变量
必需
GITHUB_APP_IDENTIFIER
GITHUB_PRIVATE_KEY
GITHUB_WEBHOOK_SECRET
可选
GITHUB_PRIVATE_KEY_BASE64
(默认值:False
)
Docker不支持.env
文件中的多行变量。所以如果你一起使用它们,你 可以将此变量设置为True
,并将GITHUB_PRIVATE_KEY
设置为 私钥。GITHUB_WEBHOOK_ROUTE
(默认值:/
)
用法
使用以下代码创建文件main.py
:
frompoebotimportPoebotapp=Poebot(debug=True)@app.on_gh_event("issues","opened")asyncdefadd_bug_label(github,payload):repo=github.get_repo(payload["repository"]["full_name"])issue=repo.get_issue(payload["issue"]["number"])issue.add_to_labels("bug")
然后,在终端中运行:
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
Poebot
类提供:
- 一个Webhook,它监听GitHub事件并验证传入的Webhook签名;
- 用于注册github事件处理程序的装饰符
on_gh_event
。
装饰器有两个参数:事件类型和操作(可以是None
)
听。
事件处理程序接收两个参数:
- 与github api交互的经过身份验证的
Github
对象(来自PyGithub) - 事件有效负载作为字典。
释放
- []结帐到
master
分支。 - []拉动更改。
- []签出到新分支
release/x.x.x
。 - []在
setup.py
中的凹凸版本。 - []更新
CHANGELOG.md
。- []添加一个空行并在下面
## [x.x.x] - YYYY-MM-DD
下## [Unreleased]
。 - []更新底部的比较链接。
- []添加一个空行并在下面
- []使用消息
Release x.x.x
提交并推送。 - []打开并合并标题为
Release x.x.x
的PR。 - []删除分支
release/x.x.x
。 - []结帐到
master
分支。 - []拉动更改。
- []创建标记
x.x.x
。 - []按下标签。
- []创建标题为
x.x.x
的发行版。- []将最新的部分从
CHANGELOG.md
复制并粘贴到版本描述。
- []将最新的部分从