Skip to main content
Source Control

Connect GitHub to Odoo via OEC.sh

Auto-deploy Odoo on every push and post status back to GitHub.

Available on the Free plan.

What this integration does

OEC.sh runs a two-way GitHub integration. Incoming webhooks trigger automatic deploys on pushes, branch merges, and tag releases. Outgoing webhooks (or direct API calls) post commit statuses, deploy URLs, and PR preview links straight back to the pull request, so reviewers see green checks without leaving GitHub.

The integration is configured from your OEC.sh project settings. If you have not created an account yet, you can start free and connect GitHub in under five minutes. Compare OEC.sh against the hosted Odoo.sh option if you are still deciding where to run Odoo.

Common use cases

1

Auto-deploy production from main and staging from a dev branch with zero manual steps

2

Spin up a PR preview environment per pull request via OEC.sh Automation Rules, then tear it down on merge

3

Post commit statuses (pending, success, failure) and deploy URLs back to GitHub for fast code review

4

Run a GitHub Action that calls the OEC.sh Public API to clone production into a fresh staging env on demand

How to set it up

Five steps, end to end. Most teams finish in under five minutes.

  1. 1
    In OEC.sh, open Settings, then Integrations, then click Connect GitHub and complete the OAuth flow
  2. 2
    Pick the organization and repository you want to connect
  3. 3
    Choose the branch that maps to each environment (for example main to production, dev to staging)
  4. 4
    Optionally add an Automation Rule like 'on pull_request.opened, clone production to a preview env'
  5. 5
    Push a commit and watch the deploy run automatically with status posted back to GitHub

Example payload

Here is the exact format OEC.sh sends (or that you would send to OEC.sh, in the case of GitHub Actions, GitLab CI, Bitbucket Pipelines, and n8n).

name: Deploy to OEC.sh
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Trigger OEC.sh deploy
run: |
curl -X POST https://api.oec.sh/v1/projects/${{ secrets.OECSH_PROJECT_ID }}/deploy \
-H "Authorization: Bearer ${{ secrets.OECSH_API_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{
"environment": "production",
"commit": "${{ github.sha }}",
"branch": "${{ github.ref_name }}"
}'

Plan availability

Available on every plan including Free ($0/mo). No payment details needed to wire it up.

See full pricing

Frequently Asked Questions

No. github.com Free works for OEC.sh's standard GitHub integration. GitHub Enterprise Server (self-hosted) requires the OEC.sh Pro plan, not a paid GitHub plan.
OEC.sh uses the GitHub App OAuth flow. You click Connect GitHub inside the dashboard, approve the app for the organization or repos you want, and OEC.sh stores a short-lived installation token to deploy and post status. You can revoke access at any time from GitHub's Installed Apps page.
Yes. The commit status message, PR comment text, and deploy URL format are all configurable per repository under Settings, Integrations, GitHub. You can also disable status posting if you only want OEC.sh to listen for push events.
Available on every plan including Free ($0/mo). No payment details needed to wire it up.
GitHub Enterprise Server (self-hosted GitHub) is supported on the Pro plan ($39/mo) and above. github.com itself works on every plan, including Free.

Wire GitHub into your Odoo deploys today

Free tier included. No credit card required. Connect in under five minutes.