为Kiwi TCMS提供的GitHub App集成
项目描述
简介
此软件包提供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应用程序
安装时请求用户授权(OAuth) - 是
Webhook激活 - 是
Webhook URL - https://tcms.example.com/kiwitcms_github_app/webhook/
Webhook密钥 - <KIWI_GITHUB_APP_SECRET的值>
SSL验证 - 启用
然后配置应用程序如何与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.22,cryptography>=41.0.4,pyjwt>=2.4.0,requests>=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日)
修复GitHub异常。修复了KIWI-TCMS-HH
v1.3.2(2022年1月5日)
不要在GitHub返回404时崩溃。修复了KIWI-TCMS-EA
解决上游问题 <https://github.com/PyGithub/PyGithub/pull/2079>。修复了KIWI-TCMS-HD
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 或更高版本兼容)
不再需要 MIDDLEWARE 和 PUBLIC_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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a11e4dbb2909167659146cc04db077e5bfa745fea86454929b9191c494de9312 |
|
MD5 | 70685f89553aa9f39e3c3dff936e30e6 |
|
BLAKE2b-256 | 0f250022939c4de84fc35a8c68238d6ae97780dd73a128ae4dec7b355f4847e6 |