跳转到主要内容

异步GitLab API库

项目描述

https://img.shields.io/badge/code%20style-black-000000.svg pre-commit Documentation Status https://gitlab.com/beenje/gidgetlab/badges/master/pipeline.svg https://gitlab.com/beenje/gidgetlab/badges/master/coverage.svg

这是一个异步GitLab API库。

这个库基于Brett Cannon的gidgethub,一个异步GitHub API库。

我喜欢异步和sans-I/O方法的概念,并决定将其应用于GitLab的API。所有荣誉都归Brett Cannon最初的库!

快速入门

这是一个完整示例,展示了服务器如何响应webhook,在问题被打开时向作者问候并表示感谢。

from gidgetlab.aiohttp import GitLabBot

bot = GitLabBot("beenje")


@bot.router.register("Issue Hook", action="open")
async def issue_opened_event(event, gl, *args, **kwargs):
    """Whenever an issue is opened, greet the author and say thanks."""
    url = f"/projects/{event.project_id}/issues/{event.object_attributes['iid']}/notes"
    message = f"Thanks for the report @{event.data['user']['username']}! I will look into it ASAP! (I'm a bot)."
    await gl.post(url, data={"body": message})


if __name__ == "__main__":
    bot.run()

安装

Gidgetlab可在PyPI上找到。

python3 -m pip install gidgetlab

要安装Web服务器支持(例如,用于aiohttptreqtornado),请将其指定为额外依赖项

python3 -m pip install gidgetlab[aiohttp]

请注意,该库仍处于alpha开发阶段。

目标

关键目标是与gidgethub(但为GitLab)相同:提供一个异步基本库,用于GitLab API,该库不执行任何自己的I/O(一个sans-I/O库)。

另一个目标是轻松编写GitLab机器人:在GitLab上运行的自动化应用程序,使用GitLab WebHooks和API。这受到了Mariatta PyCon 2018工作坊的启发:构建GitHub机器人工作坊

备选库

如果您认为您想要不同的GitLab API方法,GitLab维护了一个库列表

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

gidgetlab-2.0.1.tar.gz (34.1 kB 查看哈希值)

上传时间

构建分布

gidgetlab-2.0.1-py3-none-any.whl (27.7 kB 查看哈希值)

上传时间 Python 3

支持

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