Odoo Git Project Sync + CI/CD
Connect GitHub repositories with Odoo Project, synchronize GitHub Issues with Odoo Tasks, track commits and bugs, and deploy Odoo addons automatically from GitHub push events or scheduled cron jobs.
One module for GitHub, Project, Bugs and Deployment
Designed for Odoo development teams that manage tasks in Odoo, code in GitHub, and need automatic deployment without repeated Sync Now or Deploy Now clicks.
GitHub Connector
Create one connector per GitHub repository and Odoo project. Supports user and organization repositories with public or private access through GitHub tokens.
GitHub Issues to Odoo Tasks
Open and closed GitHub issues are synchronized into Odoo tasks with issue number, issue URL, labels, state and last sync information.
Webhook Auto Sync
GitHub webhooks can refresh issues, tasks, labels and commits instantly when push, issue, label or project events are received.
Cron Auto Sync
Scheduled actions keep GitHub and Odoo synchronized every few minutes even when webhook delivery is delayed or unavailable.
Label and Tag Sync
GitHub issue labels can be created as Odoo project tags and assigned to related tasks automatically.
Stage Mapping
Map GitHub issue status or project status names to Odoo task stages. Configure default open and closed stages for simple setup.
Automatic workflow
After the GitHub webhook and cron are configured, normal project activity flows into Odoo without manual sync actions.
No repeated button clicks
The module supports both instant webhook automation and scheduled polling. This gives a reliable fallback if the public URL, ngrok, reverse proxy or GitHub webhook delivery is interrupted.
| Webhook | Instant sync and deploy on GitHub events |
| Cron Sync | Auto-sync connected repositories periodically |
| Cron Deploy | Checks remote SHA and deploys changed branches |
| Logs | Every sync and deployment action is stored for audit |
CI/CD deployment features
Deploy Odoo addons from GitHub to development, staging, production or custom environments. Supports fixed branch deployment and dynamic branch based paths.
Environment based deployment
Configure Development, Staging, Production or Custom deployment records. Each deployment can have its own branch, repository path, commands and service restart setting.
Dynamic branch deploy
Deploy exact branches, branches by prefix, or any pushed branch. Use dynamic path variables such as {owner}, {repo}, {branch}, {safe_branch} and {environment}.
Auto clone and Git strategy
If the repository path is missing, the module can create the parent folder and clone the GitHub repository automatically. It supports fetch, reset hard, pull and optional clean untracked files.
Odoo module upgrade automation
Update the Apps List, upgrade manually selected modules, upgrade changed installed modules, or upgrade all installed modules found inside the repository.
Deployment configuration options
| Option | Purpose | Example |
|---|---|---|
| Environment | Separate deployment targets | Development, Staging, Production |
| Branch Match Type | Control which pushes trigger deployment | Exact, Prefix or Any Branch |
| Dynamic Repository Path | Generate path from pushed branch and environment | /opt/odoo/{environment}/{repo}-{safe_branch} |
| Scheduled Auto Deploy | Cron checks remote branch SHA and deploys new commits | Runs without clicking Deploy Now |
| Auto Upgrade Changed Modules | Detect changed addon folders from push files | Upgrade only changed installed modules |
| Service Restart | Restart any configured Odoo service when permitted | odoo16.service, odoo19.service or custom service |
Built-in bug tracker
Track QA and development bugs inside Odoo, then push them to GitHub Issues or create linked Odoo tasks for developers.
- Bug states: New, Confirmed, In Progress, Resolved and Closed
- Severity: Low, Medium, High and Critical
- Description, steps to reproduce, expected behavior and actual behavior
- Environment information and attachments
- Push to GitHub Issue action
- Create linked Odoo Task action
Commit history in Odoo
Browse repository commits directly in Odoo and link work to tasks using GitHub issue references.
- Full SHA and short SHA
- Commit message, author name and author email
- Committed date and GitHub URL
- Files changed, additions and deletions
- Automatic task linking by issue number from commit messages
- Smart buttons on connector and task forms
Menu structure
GitHub Connectors
Repository connection, token, webhook URL, sync options, stage mapping and linked deployments.
Commit History
View imported GitHub commits with author, SHA, stats and linked Odoo task.
Bug Reports
Create, confirm, resolve and close bugs with GitHub issue and task linkage.
Sync Logs
Audit logs for API calls, webhook processing, task sync, commit sync and cleanup.
CI/CD Deployments
Configure deployment environment, branch rules, repository path, commands and module upgrade strategy.
Deployment Logs
Track every deployment run with status, branch, commit, command output and error details.
Security and access
- Odoo 19 compatible security using group privilege
- Git Sync User group for normal users
- Git Sync Administrator group for full configuration access
- GitHub token stored in System Parameters, not directly exposed after save
- Webhook secret generation for signed GitHub webhook requests
- Record rules for user and administrator level access
Requirements
- Odoo 19 for installing this module
- Project and Mail apps installed
- GitHub repository and Personal Access Token
- Public HTTPS Odoo URL for webhook based automation
- Git installed on the deployment server
- Proper Linux permissions for repository folders and optional service restart
Quick setup
Generate a classic GitHub token with repo scope for private repositories.
Set repository owner, repository name, project, token, sync options and stages.
Use the generated Odoo webhook URL and secret in GitHub repository settings.
Set branch, repository path, auto clone, update apps list and module upgrade options.
Enable Auto Sync on Webhook, Deploy on Push and Scheduled Auto Deploy as needed.
Review Sync Logs and Deployment Logs for every webhook, cron and deployment action.
Built for Odoo development teams
Use Odoo as the operational workspace while GitHub remains the source for code, issues and deployment events. Webhook and cron automation keep both sides synchronized.
$99.99 USD
One-time app purchase pricing for GitHub sync, issue/task integration, bug tracking, webhook and cron automation, dynamic branch deployment, auto module upgrade and deployment logs.
Please log in to comment on this module