跳转到主要内容

MeeseeksBox

项目描述

MeeseeksBox

无状态GitHub Bot的基础。

查看什么是MrMeeseeks 和 MeeseeksBox

托管为您

我们托管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 的另一个仓库进行身份验证,请 yieldorg/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 (175.5 kB 查看哈希值)

上传时间 Python 3

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面