跳转到主要内容

从Github仓库同步信息

项目描述

License: AGPL-3

在您的Odoo实例中加载Github数据

此模块允许您

  • 从Github获取Odoo社交信息(组织、团队、用户)

  • 从Github获取Odoo代码结构信息(仓库、分支)

  • 从Github下载源代码

配置

安装后,您需要

  1. 打开您的odoo.conf文件,并添加额外的设置来提及Github凭证,以及源代码将被下载的本地路径

    • github_login = your_github_login

    • github_password = your_github_password

    • source_code_local_path = /workspace/source_code/

    注意:确保Odoo进程有对该文件夹的读写访问权限

  2. 转到‘设置’/‘技术’/‘参数’/‘系统参数’,并定义以下值

    1. github.max_try:在引发错误之前调用API的次数。您的连接越不稳定/越慢,此值应该越高

    2. git.partial_commit_during_analysis:如果您想在每次仓库分析后提交分析结果到数据库中,设置为True。我们建议在执行初始下载(可能包含大量仓库)时设置为True,以减小事务大小

    /github_connector/static/description/github_settings.png
  3. 转到您的用户表单,将他们添加到新的‘Connector Github Manager’组中。此组的成员将有机会运行Github同步。

使用方法

从Github的初始上传

要从Github获取信息,您必须

  1. 转到‘Github’/‘设置’/‘同步对象’

  2. 选择您要同步的对象类型及其Github名称

    /github_connector/static/description/sync_organization.png
  3. 完成组织设置后,转到‘Github’/‘Github社区’/‘组织’

    /github_connector/static/description/github_organization_kanban.png
  4. 组织创建后,您可以为您的项目创建系列。转到‘Github’/‘组织’/点击您的组织/‘组织系列’标签页

    /github_connector/static/description/github_organization_series.png

选择要下载的分支

此设置将防止下载不需要的分支,只下载主分支(发布版本)

  1. 在‘设置’标签页中,设置您不想下载的仓库(或您想下载的仓库)。如果设置‘特定仓库’,则忽略‘忽略仓库’的值。

  2. 在‘设置’标签页中,设置您用于持续集成和覆盖的‘外部服务’的URL。

    /github_connector/static/description/github_organization_external_services.png
  3. 完成后,点击‘同步’按钮,以同步仓库、团队和成员。(此过程可能需要一段时间,具体取决于您的规模)

    /github_connector/static/description/github_organization_sync_buttons.png

团队/成员同步

您可以同步成员团队

  1. 转到‘团队’/树状视图/‘操作’/‘从Github更新’。

    /github_connector/static/description/github_team_kanban.png
  2. 在每个团队中,您可以看到成员列表和成员的角色

    /github_connector/static/description/github_team_partner_kanban.png
  3. 在每个团队中,您可以看到仓库列表,但不能看到团队权限。(见‘已知问题’部分)

    /github_connector/static/description/github_team_repository_kanban.png

仓库同步

您可以为您的仓库同步分支

  1. 转到‘仓库’/树状视图/‘操作’/‘从Github更新’

    /github_connector/static/description/github_repository_kanban.png
  2. 在每个仓库中,您可以看到主分支列表和代码源的大小。

    /github_connector/static/description/github_repository_branch_kanban.png

获取源代码

最后,您可以下载所有分支的源代码

  1. 转到‘仓库分支’/树状视图/‘操作’/‘下载并分析源代码’。

    /github_connector/static/description/wizard_download_analyze.png
  2. 在树状视图中,您可以手动更新源代码或刷新分析。

    /github_connector/static/description/github_repository_branch_list.png

Github中的数据创建

您可以直接从Odoo创建两个项目在Github

  1. 团队

    1. 转到‘设置’/‘在Github创建团队’。

    2. 设置信息并点击在Github上创建。

    3. Odoo将尝试创建团队。如果访问权限和数据正确,创建将直接在Github完成

    4. 之后,将执行同步,以在Odoo实例中创建相应的团队。

    /github_connector/static/description/wizard_create_team.png
  2. 仓库

    1. 转到‘设置’/‘在Github创建团队’。

    2. 设置信息并点击在Github上创建。

    /github_connector/static/description/wizard_create_repository.png

注意

本模块的分析是基本的:目前,它只是给出分支大小。

尽管如此,您可以根据需要开发额外的Odoo自定义模块来扩展分析功能并获取额外的统计数据。

这样,您可以看到github_connector_odoo模块,如果您的仓库包含Odoo模块。

Try me on Runbot

报告

本模块提供了几个报告

系列分支

/github_connector/static/description/reporting_branches_by_serie.png

系列大小

/github_connector/static/description/reporting_sizes_by_serie.png

技术信息

本模块提供了4个cron任务,您可以选择启用

  • 同步所有组织和团队(cron_update_organization)

  • 同步所有仓库的分支列表(cron_update_branch_list)

  • 下载所有Github分支的源代码(cron_download_code)

  • 分析所有Github分支的源代码(cron_analyze_code)

路线图/已知问题

  • 目前,Github API不提供一些在经典UI中可用的信息,包括

    1. 团队层次结构:该字段存在于模型github_team.parent_id中,但未使用。

  • 可能的改进

  1. 创建一个新的模块github_connector_website,该模块可以显示非登录用户团队/仓库/分支信息。

  2. 分析提交(作者、按系列的数量等...):此功能已在V8.0 PR中部分实现。

  3. 同步拉取请求、问题、评论:此功能已在V8.0 PR中部分实现。

  • 重构github连接器

    有一个名为PyGitHub的Python库可用。使用它可能很有趣,而不是使用自定义代码。然而,此库没有提供对子对象的良好访问,目前产生了不必要的API调用。例如,更新仓库应在调用父组织之前进行调用(当前模块更快)。

``sudo pip install PyGitHub``

错误跟踪器

错误在GitHub Issues上进行跟踪。如果遇到问题,请检查您的错误是否已被报告。如果您是第一个发现的人,请通过提供详细和受欢迎的反馈来帮助我们解决问题。

致谢

贡献者

维护者

Odoo Community Association

本模块由OCA维护。

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。

要为此模块做出贡献,请访问https://odoo-community.org

项目详情


下载文件

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

源分布

本发布没有可用的源分布文件。请参阅生成分布存档的教程。

构建分布

odoo11_addon_github_connector-11.0.1.1.2-py2.py3-none-any.whl (479.9 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持

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