Addon Repositories

Connect GitHub repositories containing Odoo addons.

Addon repositories are GitHub repositories that contain one or more Odoo addons. By connecting a repository to hav.sh, you make its addons available for deployment to your services.

#Connecting a repository

#1. Set up GitHub integration

Before connecting repositories, you need to install the hav.sh GitHub App. See GitHub Integration for setup instructions.

#2. Add a repository

Go to Addon Repositories in the sidebar and click New Repository.

#3. Select the repository

Choose a repository from your GitHub organization. hav.sh will scan it for Odoo addons.

#4. Review discovered addons

hav.sh will list all addons found in the repository, including:

  • Addon name and description
  • Supported Odoo versions
  • Dependencies

#Syncing repositories

When you push new commits to your GitHub repository, you can sync the changes in hav.sh to discover new addons or updated versions. hav.sh tracks:

  • Commit SHAs โ€” Which exact version of the code is deployed
  • Addon versions โ€” Per Odoo version compatibility
  • External dependencies โ€” Python packages or system libraries required

#Custom branch names per Odoo version

By default, hav.sh assumes a repository uses the Odoo version number as the branch name โ€” for example, 18.0 for Odoo 18 and 19.0 for Odoo 19. Most repositories (including OCA) follow this convention.

Some teams use different branch names โ€” for example v18 and v19, or 18 and 19. To make hav.sh sync and deploy from those branches, configure the branch name per Odoo version on the repository.

On the repository edit page, in the Branch names per Odoo version section, enter the branch that this repository uses for each Odoo version. Leave a field blank to fall back to the Odoo version itself (e.g. 18.0).

Example: a repository whose Odoo 18 branch is named v18 and Odoo 19 branch is named v19 would set:

  • Odoo 18.0 branch: v18
  • Odoo 19.0 branch: v19

After saving, the next sync will look for addons on the configured branches and deployments will use those branches by default.

Per-service or per-addon branch overrides (used for feature branches and preview deployments) still take precedence over the repository default โ€” the per-version setting only changes what hav.sh falls back to when no override is set.

#Managing repositories

From the repository detail page, you can:

  • View all addons in the repository
  • See which services have addons from this repository deployed
  • Sync to pick up the latest changes from GitHub
  • Remove the repository if it's no longer needed