跳转到主要内容

为Kiwi TCMS提供的GitHub App集成

项目描述

https://coveralls.io/repos/github/kiwitcms/github-app/badge.svg?branch=master Python updates Tidelift Become a sponsor Kiwi TCMS on Twitter

简介

此软件包提供Kiwi TCMS Enterprise的GitHub App集成,并且仅适用于多租户环境!您无需此插件即可在没有扩展GitHub集成的情况下运行Kiwi TCMS!

GitHub到本插件的通信是通过webhooks进行的。

插件行为

  • 自动配置用于数据库操作的租户,可以是“public”或单个私有租户,用户有访问权限。

  • 如果无法自动配置,则在GitHub账户登录Kiwi TCMS后显示警告并重定向到配置页面

  • 现有和新创建的存储库将作为Kiwi TCMS中的产品添加

  • 为存储库自动配置BugSystem记录

  • 跳过分叉存储库

  • 新创建的git标签将作为Kiwi TCMS中的产品版本添加

有关其他想法,请参阅问题

安装

pip install kiwitcms-github-app

在Kiwi TCMS的docker镜像内,并确保以下设置已配置

AUTHENTICATION_BACKENDS = [
    'social_core.backends.github.GithubAppAuth',
    ...
]
SOCIAL_AUTH_GITHUB_APP_KEY = 'xxxxxx'
SOCIAL_AUTH_GITHUB_APP_SECRET = 'yyy'
KIWI_GITHUB_APP_SECRET = b'your-webhook-secret'
KIWI_GITHUB_APP_ID = 123456
KIWI_GITHUB_APP_PRIVATE_KEY = """-----BEGIN RSA PRIVATE KEY-----
+++++++++base64-encoded-private-key+++++++
-----END RSA PRIVATE KEY-----"""

其他一切将由Kiwi TCMS插件加载代码处理!

GitHub App配置

此插件需要一个具有以下配置的现有GitHub App应用程序

然后配置应用程序如何与GitHub交互

  • 仓库权限

    • 内容:只读

    • 问题:读 & 写(用于私有仓库的一键报错)

    • 元数据:只读

  • 用户权限

    • 电子邮件地址:只读

  • 订阅事件

    • 元数据

    • 创建

    • 仓库

变更日志

v2.0.1(2024年6月18日)

  • 仅对‘github-app’数据库进行过滤,而不是无条件使用第一条记录。修复了Sentry KIWI-TCMS-P5

v2.0.0(2024年6月7日)

  • 将此软件包重新许可为GNU Affero通用公共许可证v3或更高版本

  • 先前版本仍根据GNU通用公共许可证v3许可

v1.7.0(2024年5月6日)

  • 固定间接需求以减少安装易受攻击的依赖项的机会

  • 删除包装类GithubKiwiTCMSBot()

  • 简化类PatchedGithub中的self.requester覆盖

  • 开始使用PyGithub==1.59.0中引入的新GitHub认证参数

v1.6.0(2024年1月15日)

  • 一键报错现在将使用execution.build.version.product而不是execution.run.plan.product,根据Kiwi TCMS的变化,请参阅:<https://github.com/kiwitcms/Kiwi/commit/48a33a71e664c8c3ed2ceb298b5f1e19d0bddb52>_ 和 PR #3439 以获取更多详细信息

  • 要求几个间接依赖项的最小版本,certifi>=2023.7.22cryptography>=41.0.4pyjwt>=2.4.0requests>=2.31.0,以最小化对已知安全漏洞的暴露

  • 使用Python 3.11进行构建和测试

  • 开始使用psycopg3进行测试

  • 关于测试作业和CI的一些小更新

v1.5.1(2023年3月28日)

  • 取消对PyGithub依赖项的锁定

  • 添加更多测试

v1.5.0(2023年2月24日)

  • 重构代码,使其与PyGithub==1.58.0兼容

  • 删除PatchedGithubIntegration类

  • 为PyGithub的上游/下游接口添加一致性测试

v1.4.1(2023年2月13日)

  • 调整最新github.Github实现的参数

  • 抛出RuntimeError而不是Exception

v1.4.0(2022年9月5日)

  • 如果用户不是租户所有者,则不要请求用户配置GitHub App。如果租户创建出错,则断开无限循环周期

  • 为内部HTTP请求指定30秒超时

  • CI改进

v1.3.3(2022年1月31日)

v1.3.2(2022年1月5日)

v1.3.1(2021年10月4日)

  • 调整2个参数,以适应PyGithub 1.55中引入的更改

v1.3.0(2021年2月14日)

  • 迁移到Python 3.8

  • 始终使用最新的Kiwi TCMS版本进行测试

  • 在Kiwi TCMS可通过源代码访问后,对内部测试套件进行调整

  • 防止由于uid字段不是数字而崩溃,使其能够与Keycloak一起工作

v1.2.4(2021年2月14日)

  • 解决在webhooks之间发生竞态条件时引起的ISE

  • 修复现有版本的ISE

v1.2.3(2021年1月25日)

  • 允许没有CSRF令牌的POST请求(webhooks)

v1.2.2(2020年12月8日)

  • 为较新的PyGithub进行更新

v1.2.1(2020年9月17日)

  • 为views.Resync()要求登录

v1.2(2020年9月13日)

  • 调整为与Django 3.1和Kiwi TCMS > 8.6一起使用

  • 将废弃的 url() 替换为 re_path()

  • payload 字段迁移到新的 models.JSONField 类型

  • 在 Kiwi TCMS 中删除了 PUBLIC_VIEWS 设置,因此删除自动调整

  • 使缺失 AppInst 的错误信息更清晰

  • 在 Resync() 中删除冗余的 if 条件

  • 更新翻译字符串

  • 更新有关一键提交错误报告的 GitHub 许可要求的文档

v1.1 (2020年8月5日)

  • 添加 GitHub issue-tracker 集成,以已安装的应用程序的身份进行认证。修复了 问题 #25

  • 为新仓库配置 BugSystem。修复了 问题 #15

  • 当 installation_repositories 发生变化时创建产品 & BugSystem 记录。修复了 问题 #21

  • 通过菜单触发从 GitHub 的同步。修复了 问题 #19

  • 在 AppInstallation 配置后从 GitHub 触发同步。修复了 问题 #20

  • 数据库:添加 AppInstallation.settings_url 字段

  • 链接到正确的 GitHub 设置 URL。修复了 问题 #33

  • 要求用户登录后才能进行 ApplicationEdit。修复了 问题 #36

  • 更新翻译字符串

  • 添加更多测试

v1.0 (2020年4月13日)

  • tcms_settings_dir/ 下安装设置覆盖(与 Kiwi TCMS v8.2 或更高版本兼容)

    • 不再需要 MIDDLEWAREPUBLIC_VIEWS 覆盖

  • 删除与 social-auth-core v3.3.0 一起提供的 GithubAppAuth 后端

  • 修复重定向以使用我们的 social_core 后端的正确名称

v0.0.5 (2020年2月19日)

  • 解决 social-auth-core 中尚未修复的 GitHub API 废弃问题

v0.0.4 (2019年12月25日)

  • 如果产品已存在,则不会失败

  • 如果存储库没有描述,则不会失败

  • 通过 uid 和提供者搜索 UserSocialAuth

v0.0.1 (2019年12月24日)

  • 初始发布

项目详情


下载文件

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

源分发

kiwitcms-github-app-2.0.1.tar.gz (26.6 kB 查看哈希值)

上传时间

构建分发

kiwitcms_github_app-2.0.1-py3-none-any.whl (32.1 kB 查看哈希值)

上传时间 Python 3

由以下支持

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