用于构建github应用程序的库。

poebot的Python项目详细描述


Poebot

PyPI versionBuild StatusCoverage StatusCode style: black

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复制并粘贴到版本描述。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用Java学习Eclipse可视化编辑器Swing   eclipse如何找到运行Java程序所需的时间?   JAVA用于在Tomcat 8上运行Jena API的lang.UnsupportedClassVersionError   java在Main中调用字符串方法   javascript“子进程”。exec无法运行Java函数   java如何使用Gmail API获取电子邮件正文内容   java为什么客户端看不到服务器发送的第一条消息?   java无法在安卓 WebView中滚动到顶部   从服务器运行web服务时,java代码中的日期为空   从子任务返回后执行后台任务时发生java错误   java无法一致地处理弹出窗口   java(Android)通过蓝牙向µ控制器发送字节   java无法在emulator中启动AVD?安卓工作室   Android Java应用程序正在冻结,没有返回错误消息   java如何使用TestNg记录测试历史?