Repository
OCA/interface-git · module folder · Try on Runboat
Module version
1.0.2
Category
Connector
Folder size
0.55 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/interface-github
Last tracking update
2026-08-07 08:43:07
Authors
Odoo Community Association (OCA), GRAP, Sylvain LE GAL
Maintainers
Odoo Community Association (OCA), GRAP, Sylvain LE GAL
Committers
Pedro M. Baeza, Carlos Lopez, Weblate, OCA-git-bot, oca-ci
Odoo dependencies
OCA/interface-git:
odoo/odoo:
- web
Python dependencies
pathspec, GitPython, PyGithub
System dependencies
cloc
Required by
None
Description
This module was written to extend the functionality of 'Github
Connector' Module if your repositories contain Odoo Modules.

It extends 'Analysis' features to parse code files (readme / manifest
files) and add new models and menus.

![menu](static/description/menu.png)

Code Analysis

Views touched (31)
XML IDNameModelTypeStatus
action_odoo_module_version_rule_info_report_graph odoo.module.version.rule.info.report graph New
action_odoo_module_version_rule_info_report_pivot odoo.module.version.rule.info.report pivot New
odoo_module_version_rule_info_tree odoo.module.version.rule.info list New
view_github_analysis_rule_form github.analysis.rule form Inherits github_connector.view_github_analysis_rule_form
view_github_organization_form github.organization form Inherits github_connector.view_github_organization_form
view_github_repository_branch_form github.repository.branch form Inherits github_connector.view_github_repository_branch_form
view_github_repository_branch_kanban github.repository.branch kanban Inherits github_connector.view_github_repository_branch_kanban
view_github_repository_branch_tree github.repository.branch tree Inherits github_connector.view_github_repository_branch_tree
view_github_repository_form github.repository form Inherits github_connector.view_github_repository_form
view_oca_author_form odoo.author form New
view_odoo_author_search odoo.author search New
view_odoo_author_tree odoo.author list New
view_odoo_lib_bin_form odoo.lib.bin form New
view_odoo_lib_bin_search odoo.lib.bin search New
view_odoo_lib_bin_tree odoo.lib.bin list New
view_odoo_lib_python_form odoo.lib.python form New
view_odoo_lib_python_search odoo.lib.python search New
view_odoo_lib_python_tree odoo.lib.python list New
view_odoo_license_form odoo.license form New
view_odoo_license_kanban odoo.license kanban New
view_odoo_license_search odoo.license search New
view_odoo_license_tree odoo.license list New
view_odoo_module_form odoo.module form New
view_odoo_module_kanban odoo.module kanban New
view_odoo_module_search odoo.module search New
view_odoo_module_tree odoo.module list New
view_odoo_module_version_by_serie_graph odoo.module.version graph New
view_odoo_module_version_form odoo.module.version form New
view_odoo_module_version_kanban odoo.module.version kanban New
view_odoo_module_version_search odoo.module.version search New
view_odoo_module_version_tree odoo.module.version list New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (15)

New fields (0)

No new fields.

Public methods (1)
  • action_open(self)

New fields (2)
  • has_odoo_addons Boolean
    string='Has odoo addons?'
  • manifest_key_ids Many2many → odoo.manifest.key
    comodel_name='odoo.manifest.key' string='Manifest keys'
Public methods (0)

No public methods.

New fields (3)
  • default_author_text Char
  • runbot_parse_url Char
    string='URL For Runbot Ids'
  • runbot_url_pattern Char
    string='Runbot URL Pattern'
Public methods (0)

No public methods.

New fields (1)
  • runbot_id_external Integer
    compute='_compute_runbot_id_external' readonly=True store=True string='ID For Runbot'
Public methods (0)

No public methods.

New fields (5)
  • module_paths Text
    help='Set here extra relative paths you want to scan to find modules. If not set, root path will be scanned. One repository per line. Example:\n./addons/\n./openerp/addons/'
  • module_version_analysis_rule_info_ids Many2many → odoo.module.version.rule.info
    column1='repository_branch_id' column2='module_version_id' comodel_name='odoo.module.version.rule.info' compute='_compute_module_version_analysis_rule_info_ids' readonly=True relation='rule_info_module_version_rel' string='Analysis Rule Info ids (module version)'
  • module_version_ids One2many → odoo.module.version
    comodel_name='odoo.module.version' inverse_name='repository_branch_id' string='Module Versions'
  • module_version_qty Integer
    compute='_compute_module_version_qty' string='Number of Module Versions'
  • runbot_url Char
    compute='_compute_runbot_url' string='Runbot URL'
Public methods (2)
  • analyze_code_one(self)
  • listdir(self, directory)

New fields (4)
  • module_ids Many2many → odoo.module
    column1='author_id' column2='module_id' comodel_name='odoo.module' readonly=True relation='github_module_author_rel' string='Modules'
  • module_qty Integer
    compute='_compute_module_qty' store=True string='Number of Modules'
  • module_version_ids Many2many → odoo.module.version
    column1='author_id' column2='module_version_id' comodel_name='odoo.module.version' readonly=True relation='github_module_version_author_rel' string='Module Versions'
  • name Char
    index=True readonly=True store=True
Public methods (1)
  • create_if_not_exist(self, name)
    @api.model

New fields (1)
  • name Char
Public methods (0)

No public methods.

New fields (3)
  • module_version_ids Many2many → odoo.module.version
    column1='lib_bin_id' column2='module_version_id' comodel_name='odoo.module.version' readonly=True relation='module_version_lib_bin_rel' string='Module Versions'
  • module_version_qty Integer
    compute='_compute_module_version_qty' store=True string='Number of Module Versions'
  • name Char
    index=True readonly=True required=True
Public methods (1)
  • create_if_not_exist(self, name)
    @api.model

New fields (3)
  • module_version_ids Many2many → odoo.module.version
    column1='lib_python_id' column2='module_version_id' comodel_name='odoo.module.version' readonly=True relation='module_version_lib_python_rel' string='Module Versions'
  • module_version_qty Integer
    compute='_compute_module_version_qty' store=True string='Number of Module Versions'
  • name Char
    index=True readonly=True required=True
Public methods (1)
  • create_if_not_exist(self, name)
    @api.model

New fields (7)
  • active Boolean
    default=True
  • description Text
  • image Binary
    attachment=True string='Icon Image'
  • module_version_ids One2many → odoo.module.version
    comodel_name='odoo.module.version' inverse_name='license_id' string='Module Versions'
  • module_version_qty Integer
    compute='_compute_module_version_qty' store=True string='Number of Module Versions'
  • name Char
    index=True readonly=True required=True
  • website Char
Public methods (1)
  • create_if_not_exist(self, name)
    @api.model

New fields (1)
  • name Char
Public methods (1)
  • create_if_not_exist(self, name)
    @api.model

New fields (14)
  • author_ids Many2many → odoo.author
    column1='module_id' column2='author_id' comodel_name='odoo.author' compute='_compute_author' relation='github_module_author_rel' store=True string='Authors'
  • author_ids_description Char
    compute='_compute_author' store=True string='Authors (Text)'
  • dependence_module_version_ids Many2many → odoo.module.version
    column1='dependency_module_id' column2='module_version_id' comodel_name='odoo.module.version' relation='module_version_dependency_rel' string='Module Versions that depend on this module'
  • dependence_module_version_qty Integer
    compute='_compute_dependence_module_version_qty' store=True string='Number of Module Versions that depend on this module'
  • description_rst Char
    compute='_compute_description' readonly=True store=True string='RST Description of the last Version'
  • description_rst_html Html
    compute='_compute_description' readonly=True store=True string='HTML of the RST Description of the last Version'
  • image Binary
    attachment=True compute='_compute_image' store=True string='Icon Image'
  • maintainers Char
    compute='_compute_maintainers' store=True string='Maintainers (Manifest)'
  • module_version_ids One2many → odoo.module.version
    comodel_name='odoo.module.version' inverse_name='module_id' readonly=True string='Versions'
  • module_version_qty Integer
    compute='_compute_module_version_qty' store=True string='Number of Module Versions'
  • name Char
    compute='_compute_name' readonly=True store=True
  • organization_serie_ids Many2many → github.organization.serie
    column1='module_id' column2='organization_serie_id' comodel_name='github.organization.serie' compute='_compute_organization_serie' relation='github_module_organization_serie_rel' store=True string='Series'
  • organization_serie_ids_description Char
    compute='_compute_organization_serie' store=True string='Series (Text)'
  • technical_name Char
    index=True readonly=True required=True
Public methods (1)
  • create_if_not_exist(self, technical_name)
    @api.model

New fields (35)
  • analysis_rule_info_ids One2many → odoo.module.version.rule.info
    comodel_name='odoo.module.version.rule.info' inverse_name='module_version_id' readonly=True string='Analysis Rule Info ids'
  • author Char
    readonly=True string='Author (Manifest)'
  • author_ids Many2many → odoo.author
    column1='module_version_id' column2='author_id' comodel_name='odoo.author' compute='_compute_author' relation='github_module_version_author_rel' store=True string='Authors'
  • author_ids_description Char
    compute='_compute_author' store=True string='Authors (Text)'
  • auto_install Boolean
    readonly=True
  • category_id Many2one → odoo.category
    comodel_name='odoo.category' readonly=True string='Category'
  • complete_name Char
    compute='_compute_complete_name' store=True
  • dependency_module_ids Many2many → odoo.module
    column1='module_version_id' column2='dependency_module_id' comodel_name='odoo.module' compute='_compute_dependency_module_ids' relation='module_version_dependency_rel' store=True string='Dependencies'
  • depends Char
    readonly=True string='Dependencies (Manifest)'
  • description_rst Char
    readonly=True string='RST Description (Manifest)'
  • description_rst_html Html
    compute='_compute_description_rst_html' readonly=True store=True string='HTML the RST Description'
  • external_dependencies Char
    readonly=True string='External Dependencies (Manifest)'
  • full_module_path Char
    string='Full Local Path to the module'
  • github_url Char
    compute='_compute_github_url' readonly=True store=True string='Github URL'
  • icon Char
    readonly=True string='Icon Path (Manifest)'
  • image Binary
    attachment=True readonly=True string='Icon Image'
  • lib_bin_ids Many2many → odoo.lib.bin
    column1='module_version_id' column2='lib_bin_id' comodel_name='odoo.lib.bin' compute='_compute_lib' relation='module_version_lib_bin_rel' store=True string='Bin Lib Dependencies'
  • lib_bin_ids_description Char
    compute='_compute_lib' store=True string='Bin Lib Dependencies (Text)'
  • lib_python_ids Many2many → odoo.lib.python
    column1='module_version_id' column2='lib_python_id' comodel_name='odoo.lib.python' compute='_compute_lib' relation='module_version_lib_python_rel' store=True string='Python Lib Dependencies'
  • lib_python_ids_description Char
    compute='_compute_lib' store=True string='Python Lib Dependencies (Text)'
  • license Char
    readonly=True string='License (Manifest)'
  • license_id Many2one → odoo.license
    comodel_name='odoo.license' compute='_compute_license_id' readonly=True store=True string='License'
  • maintainers Char
    readonly=True string='Maintainers (Manifest)'
  • manifest_key_ids Many2many → odoo.manifest.key
    comodel_name='odoo.manifest.key' compute='_compute_manifest_key_ids' store=True string='Manifest keys'
  • manifest_keys Char
    readonly=True string='Manifest keys (Manifest)'
  • module_id Many2one → odoo.module
    auto_join=True comodel_name='odoo.module' index=True ondelete='cascade' readonly=True required=True string='Module'
  • name Char
    index=True readonly=True
  • odoo_type Selection
    compute='_compute_odoo_type' selection=_ODOO_TYPE_SELECTION store=True
  • organization_serie_id Many2one → github.organization.serie
    comodel_name='github.organization.serie' compute='_compute_organization_serie_id' readonly=True store=True string='Organization Serie'
  • repository_branch_id Many2one → github.repository.branch
    comodel_name='github.repository.branch' ondelete='cascade' readonly=True required=True string='Repository Branch'
  • repository_id Many2one → github.repository
    comodel_name='github.repository' readonly=True related='repository_branch_id.repository_id' store=True string='Repository'
  • summary Char
    readonly=True string='Summary (Manifest)'
  • technical_name Char
    help='Technical Name of the Module (Folder name).' index=True readonly=True
  • version Char
    readonly=True string='Version (Manifest)'
  • website Char
    readonly=True string='Website (Manifest)'
Public methods (6)
  • clean_odoo_module_version(self)
  • create_or_update_from_manifest(self, info, repository_branch, full_module_path)
    @api.model
  • cron_clean_odoo_module_version(self)
    @api.model
  • get_module_category(self, info)
    @api.model
    Used to search the category of the module by the data given on the manifest. :param dict info: The parsed dictionary with the manifest data. :returns: recordset of the given category if exists.
  • manifest_2_odoo(self, info, repository_branch, module)
    @api.model
  • unlink(self)

New fields (2)
  • module_version_id Many2one → odoo.module.version
    comodel_name='odoo.module.version' ondelete='cascade' string='Module Version'
  • repository_branch_id Many2one → github.repository.branch
    comodel_name='github.repository.branch' ondelete='cascade' string='Repository Branch'
Public methods (0)

No public methods.

New fields (11)
  • analysis_rule_id Many2one → github.analysis.rule
    comodel_name='github.analysis.rule' string='Analysis Rule id'
  • code_count Integer
  • documentation_count Integer
  • empty_count Integer
  • group_id Many2one → github.analysis.rule.group
    comodel_name='github.analysis.rule.group' string='Group id'
  • module_version_id Many2one → odoo.module.version
    comodel_name='odoo.module.version' string='Module Version'
  • module_version_name Char
    string='Module Version name'
  • organization_serie_id Many2one → github.organization.serie
    comodel_name='github.organization.serie' string='Organization serie'
  • repository_branch_id Many2one → github.repository.branch
    comodel_name='github.repository.branch' string='Repository Branch'
  • scanned_files Integer
  • total_count Integer
Public methods (1)
  • init(self)

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…