OdooWiki OCA HUB
Uncategorised License: AGPL-3

Creates a set of modules used for handling a version control patform.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Track code activity from version control platforms (GitHub, GitLab, etc.) inside Odoo: repositories, branches, pull/merge requests, reviews and comments, plus contributor statistics on contacts.

This module brings your version control platform data into Odoo. Users get a new "Version Control Platform" menu with sections for Platforms, Repositories and Pull Requests, a Reporting section, a Technical section (Branches, Repository Branches, Comments, Reviews, Request Labels) and a Settings section (Organizations, Users, Processing Rules, Platform Types).

Records are organised around a platform (one account on a host such as GitHub or GitLab), its repositories, their branches, and the requests made against them. Requests carry status (draft, open, merged, closed), labels, review and comment counts, and are linked to a contributor and an organization, which can be linked to a contact (res.partner).

On contacts, computed counters show merged requests, created requests, comments and reviews for the last twelve months. A contact image can be synchronised from a linked platform user's avatar; only one user may be flagged for this, otherwise an error is raised.

Scheduled jobs refresh platforms, repositories, branches and users, and process branch rules. Processing rules (currently a code-counting analysis) run on matching branches and store counts of code, documentation and empty lines, with failures recorded on the branch.

A pivot and search report, "Management Reporting", summarises requests, reviews and comments by platform, user, organization and repository.

Depends on

base

Required by other modules

Menus it adds

Version Control PlatformPlatformsRepositoriesPull RequestsReportingManagement ReportingTechnicalBranchesRepository BranchesCommentsReviewsRequest LabelsSettingsOrganizationsUsersProcessing RulesPlatform Types
Models and fields (18)
  • vcp.host · new modelname, active, type_id
  • vcp.rule · new modelname, paths, active, rule_type, branch_pattern
  • vcp.user · new modelname, email, active, company, host_id, avatar_url, partner_id, external_id, user_update_date, sync_image_to_partner
  • vcp.branch · new modelname, platform_id (Platform)
  • vcp.review · new modelbody, state, user_id, partner_id, request_id, external_id, platform_id, submitted_at, repository_id, organization_id, partner_organization_id (Organization Partner)
  • res.partner · extends an existing modelimage_1920, vcp_reviews (Reviews), vcp_comments (Comments), vcp_user_ids, vcp_merged_requests (Merged Requests), vcp_created_requests (Created Requests), vcp_organization_ids
  • vcp.comment · new modelbody, user_id, created_at, partner_id, request_id (Request), updated_at, external_id, repository_id, organization_id, partner_organization_id (Organization Partner)
  • vcp.request · new modelurl, name, state, number, status, commits, user_id (Contributor), is_draft, additions, branch_id, closed_at, deletions, is_merged, label_ids (Labels), created_at, partner_id, review_ids (Reviews), updated_at, comment_ids (Comments), external_id (Externa ID), review_count, comment_count, repository_id, total_comments, organization_id, review_comments, partner_organization_id (Organization Partner)
  • vcp.platform · new modelkind, name, active, host_id, key_ids (API Keys), rule_ids (Processing Rules), branch_ids, local_path, description, last_update, repository_ids, repository_count, short_description, update_interval_days, fetch_repository_fork, fetch_repository_archived, scheduled_information_update, fetch_repository_branch_pattern, default_repository_scheduled_branch_update, default_repository_scheduled_information_update
  • vcp.host.type · new modelcode, name, active, code_kind
  • vcp.repository · new modelname, active, is_fork, rule_ids (Processing Rules), from_date, branch_ids, created_at, fork_count, local_path, test_field, description, platform_id, request_ids, branch_count, request_count, watchers_count, last_commit_date, stargazers_count, branch_update_date, fetch_branch_pattern, override_parent_rules, scheduled_branch_update, scheduled_information_update
  • vcp.organization · new modelname, host_id, partner_id, external_id
  • vcp.platform.key · new modelname, platform_id (Platform)
  • vcp.request.label · new modelname, color, request_ids (Requests)
  • vcp.rule.information · new modelres_id, rule_id, res_model, code_count, empty_count, total_count, scanned_files, documentation_count
  • vcp.management.report · new modeldate, user_id, platform_id, review_count, comment_count, repository_id, merged_pr_count, organization_id, created_pr_count
  • vcp.repository.branch · new modelrule_ids (Processing Rules), branch_id (Branch), last_commit, platform_id, repository_id, rule_failure_msg, override_parent_rules, update_rule_processing_date
  • vcp.rule.information.mixin · new modellocal_path, rule_information_ids

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 18.0

Confirmed on 2026-11-03 in branch 18.0 of OCA/version-control-platform.

terminal Installation and usage

OCA documentation · Odoo 18.0

Creation

First step is to create a Platform. In the platform we need to set the host (you might need to create it on gitlab) and add some Platform Keys.

This keys will allow us to integrate with the origin system.

Refresh

By default, the system provides some refresh rules for platforms and repositories, however we can deactivate or activate it manualy.

Management of rules

One of the capabilities of this module is the generation of rules.

This rules allow us to know some information of the repository.

By default, the system adds some rules aligned with odoo to make it easier and allows you to see some examples.

In order to launch this rules, the system must download the code locally.

By default the system is using the following main path (in order, the first one not null is selected):

  • Parameter vcp_management.source_code_local_path
  • In odoo configuration file, the option source_code_local_path
  • System parameter SOURCE_CODE_LOCAL_PATH

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.