MeeseeksBox
项目描述
MeeseeksBox
无状态GitHub Bot的基础。
托管为您
我们托管MeeseeksBoxes,并将它们作为GitHub集成暴露出来,这样您就不必自己托管和运行,但如果您想的话,应该很简单。
只有一个盒子的优势在于可以进行跨仓库操作。
MeeseeksBox能做什么?
@MrMeeseeks Hello
用以下内容回复
Hello {user} look at me, I’m Mr Meeseeks
用于测试MrMeeseeks是否理解您。
@MrMeeseeks backport [to]
如果从一个已合并的PR中发出,则尝试在较旧的分支上回滚(cherry-pick合并提交)并提交一个带有此回滚的PR(在该分支上)
没有直接推送的选项。
仅仓库管理员
@MrMeeseeks pep8ify
(进行中)
如果从一个PR中发出,将自动将autopep8应用于当前PR更改的行,并推送一个额外的提交来修复pep8。
由于GitHub API的限制,仅在PR的源仓库中也有MrMeeseeks时才可用。
仅仓库管理员,计划将其提供给PR作者。
@MrMeeseeks migrate [to]
需要在当前仓库和目标仓库上安装MeeseeksBox。命令发出者必须是两个仓库的管理员。
MrMeeseeks将打开一个类似的问题,复制所有带有链接到第一个评论,迁移标签(如果可能)。
简单扩展。
大多数扩展和新命令都是单个函数,例如以下是如何让每个人请求Python的禅宗
from textwrap import dedent
@everyone
def zen(*, session, payload, arguments):
comment_url = payload['issue']['comments_url']
session.post_comment(comment_url,
dedent(
"""
Zen of Pyton ([pep 20](https://pythonlang.cn/dev/peps/pep-0020/))
```
>>> import this
Beautiful is better than ugly.
Sparse is better than dense.
....
Although never is often better than *right* now.
Namespaces are one honking great idea -- let's do more of those!
```
"""
))
会话对象与命令来源的仓库进行了身份验证。如果您需要使用安装了 MeeseeksBox 的另一个仓库进行身份验证,请 yield 出 org/repo 短链接。
@admin
def foo(*, session, payload, argument):
other_session = yield 'MeeseeksBox/MeeseeksBox'
if other_session:
print('you are allowed to access MeeseeksBox/MeeseeksBox')
other_session.do_stuff()
else:
session.post_comment("Sorry Jerry you are not allowed to do that.")
为什么您需要这么多权限?
GitHub API 不允许一旦赋予后更改权限。我们不希望您重新安装所有集成。
如果必要,我们希望请求更少的权限。
设置。
以下是需要设置的环境变量。
INTEGRATION_ID GitHub 在您创建集成时提供给您的集成 ID
BOTNAME 在 GitHub 上的集成名称,应不带前缀 @,并带有 [bot]。这用于机器人对其自身名称做出反应,而不是对自己做出回应...
待办事项
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。
源分发
构建分发
meeseeksbox-0.0.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 082cfb6cb6f6ab16f1984cb0c911352d6229fca1a289a9c9dffb8d865a1b0241 |
|
MD5 | b7114bc06480fc94417569ba738e9a59 |
|
BLAKE2b-256 | 31a2dd717642990f31ca89e70298c5e87f6a550082980991f4e4e0f244fcf535 |