从Github仓库同步信息
项目描述
此模块允许您
从Github (组织、团队、用户) 捕取Odoo社交信息
从Github (仓库、分支) 捕取Odoo代码结构信息
从Github下载源代码
目录
配置
安装后,您必须
打开您的odoo.conf文件,并添加额外的设置来提及Github凭证,以及源代码将被下载的本地路径
source_code_local_path = /workspace/source_code/
注意:您可以使用键SOURCE_CODE_LOCAL_PATH将路由定义为环境变量
注意:请确保Odoo进程有权读写该文件夹
github_token = your_github_access_token
或
github_login = your_github_login
github_password = your_github_password
注意:如果提供了令牌和登录密码,则将使用令牌。登录/密码认证将由GitHub未来弃用。
转到“设置”/“技术”/“参数”/“系统参数”并定义以下值
github.max_try:在引发错误之前调用API的次数。您的连接越不稳定/越慢,此值应越高
git.partial_commit_during_analysis:将其设置为 True,如果您希望在每次仓库分析后提交分析结果到数据库中。我们建议在执行初始下载(可能包含大量仓库)时设置为 True,以减小事务大小。
前往您的用户表单,以在新的“Connector Github Manager”组中添加它们。此组的成员将有机会运行Github同步。
技术信息
此模块提供了4个cron任务,您可以选择启用
同步所有组织和团队(cron_update_organization)
同步所有仓库的分支列表(cron_update_branch_list)
下载所有Github分支的源代码(cron_download_code)
分析所有Github分支的源代码(cron_analyze_code)
用法
从Github的初始上传
要从Github获取信息,您必须
前往‘Github’ / ‘设置’ / ‘同步对象’
选择您要同步的对象类型及其Github名称
完成您的组织同步后,前往‘Github’ / ‘Github社区’ / ‘组织’
可选,一旦创建组织,您可以为您的项目创建系列。前往‘Github’ / ‘组织’ / 点击您的组织 / ‘组织系列’标签页
选择要下载的分支
此设置将防止下载不需要的分支,只下载主分支(发布)
在“设置”标签页中,设置您不想下载的仓库(或您想下载的仓库)。如果设置了“特定仓库”,则忽略“忽略仓库”的值。
在“设置”标签页中,设置您用于持续集成和覆盖率的“外部服务”的URL。
完成设置后,点击“同步”按钮,以同步仓库、团队和成员。(此过程可能需要一些时间,具体取决于您的规模)
团队/成员同步
您可以同步成员团队
前往‘团队’ / 树形视图 / ‘操作’ / ‘从Github更新’
在每个团队中,您可以看到成员列表和成员的角色
在每个团队中,您可以看到仓库列表,但不能看到团队权限。(见“已知问题”部分)
仓库同步
您可以同步您的仓库分支
前往‘仓库’ / 树形视图 / ‘操作’ / ‘从Github更新’
在每个仓库中,您可以看到主分支列表和代码源的大小。
获取源代码
最后,您可以下载本地所有分支的源代码
前往‘仓库分支’ / 树形视图 / ‘操作’ / ‘下载和分析源代码’
在树形视图中,您可以手动更新源代码或刷新分析。
下载私有仓库
如果您想从私有仓库获取源代码,您需要一个带有正确权限的令牌(而不是登录/密码)
前往‘Github账户’ / ‘设置’ / ‘开发者设置’ / ‘个人访问令牌’ / ‘生成新令牌’
在“新个人访问令牌”中,您必须选择“repo范围”。
将以下其中一个范围添加到您的令牌中
(无范围):授予对公共信息的只读访问权限(包括公共用户资料信息、公共仓库信息和gists)。
repo:授予对私有和公共仓库的完全访问权限。了解为什么需要此权限。
安全存储
出于安全考虑,git代码(source_code_local_path)和配置文件(odoo.conf)应存储在只有Odoo进程具有读写权限的安全存储中。
否则,代码和令牌(或如果您使用这些——请不要这样做!)可能会暴露。
Github中创建数据
您可以直接从Odoo在Github中创建两个项目
团队
转到‘设置’/‘在Github创建团队’。
设置信息并在Github上点击创建。
Odoo将尝试创建团队。如果访问权限和数据正确,将在Github中直接完成创建。
稍后,将进行同步,以在Odoo实例中创建相应的团队。
仓库
转到‘设置’/‘在Github创建团队’。
设置信息并在Github上点击创建。
注意
此模块的分析功能基本:目前,它只提供分支大小。
尽管如此,您可以根据需要开发额外的Odoo自定义模块来扩展分析功能并获得额外统计信息。
这样,您可以看到github_connector_odoo模块,如果您的仓库包含Odoo模块。
报告
本模块提供多个报告
按系列查看分支
按系列查看大小
已知问题/路线图
目前,Github API不提供经典UI中可用的某些信息,包括
团队层次结构:该字段存在于github_team.parent_id模型中,但未使用。
可能的改进
创建一个新的模块github_connector_website,该模块可以显示非登录用户团队的/仓库的/分支信息。
分析提交(作者、按系列的数量等...):此功能已在V8.0 PR中部分实现。
同步拉取请求、问题、评论:此功能已在V8.0 PR中部分实现。
重构github连接器
有一个名为PyGitHub的Python库可用。使用它可能很有趣,而不是使用自定义代码。然而,此库不提供对子对象的良好访问权限,目前生成不必要的API调用。例如,更新仓库应在调用父组织之前进行(当前模块更快)。
``sudo pip install PyGitHub``
错误跟踪器
错误在GitHub问题上跟踪。如果在那里遇到问题,请检查您的错误是否已报告。如果您首先发现它,请通过提供详细且受欢迎的反馈来帮助我们解决它。
请不要直接联系贡献者以获取支持或技术问题的帮助。
致谢
贡献者
Sylvain LE GAL (https://twitter.com/legalsylvain)
Sébastien BEAU (sebastien.beau@akretion.com)
Benoît GUILLOT (benoit.guillot@akretion.com)
Enrique Martín (enriquemartin@digital5.es)
-
Pedro M. Baeza
Vicent Cubells
Carlos Roca
Víctor Martínez
维护者
本模块由OCA维护。
OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。
本模块是GitHub上OCA/interface-github项目的组成部分。
欢迎您贡献。要了解如何进行,请访问https://odoo-community.org/page/Contribute。
项目详细信息
哈希值 for odoo12_addon_github_connector-12.0.2.2.2-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a42a8ffd9cd99037707a7f0a6cefcfdaf5b86e77e6841c444058a53af3294dac |
|
MD5 | 1144ecb042856ab53a07bcda6e344fc4 |
|
BLAKE2b-256 | 36fc842c863ce6c3eddb1d7c536548977bea757d625841e978aca53951221bcc |