All articles
Getting Started
What is CICDoo Getting started: the onboarding wizard The Dashboard and Infrastructure MapConcepts
Production, staging and development stages Domains, subdomains and SSL Odoo versions and editions (Community vs Enterprise) Workspaces and team collaborationServers
Adding a server Server domains and DNS Using a load balancer Server actions: deploy, logs and charts Deleting a serverProjects & Git
Creating a project Connecting GitHub Project GitHub settings and webhook Connecting GitLab Branches and instances Tagging and filtering projects High availability with app nodes Project environments, extensions and deletionInstances & Console
Creating an instance Restarting, stopping and removing an instance Merging branches between stages Web IDE and remote access SSH access to instances Instance settings explained Deployments and the job queueAgent Tasks
What agent tasks are Setting up agent tasks Running a task and reviewing the result Agent time and top-ups Agent insights and task filtersMonitoring & Backups
Monitoring your instance Backups and restore S3 storage, uploads and bulk backup actions Alert notifications (email and SMS)Workspaces & Permissions
Inviting workspace members Member permissions and resource access A member cannot see or use a resource Audit log and server activityAccount & Security
Two-factor authentication (2FA) Profile and integrations settings Passwords and account recoveryBilling & Plans
Plans and pricing Upgrading and managing your subscription If a project subscription goes unpaid The channel partner program Onboarding a client as a partnerSupport & Tickets
Opening a support ticket Getting help from the CICDoo teamTroubleshooting
Troubleshooting: cannot connect a server Troubleshooting: a deployment failed Troubleshooting: git push fails with 403 after moving a repository Troubleshooting: my instance is down or slow Troubleshooting: domain or SSL problemsProjects & Git
Project GitHub settings and webhook
How to use the GitHub tab of a project's settings to fix a missing push webhook, re-sync a moved repository, change the default branch and choose which GitHub credential the project uses.
Each project has its own GitHub settings, on the "GitHub" tab of the project settings. They control which repository and branch the project deploys, which GitHub credential it uses, and whether GitHub tells CICDoo about new pushes. The tab is meant for projects hosted on GitHub.
Opening the GitHub tab
You need permission to change the project's settings ("Project settings").
- On the Projects page, click "Settings" on the project's card. From the project console, you can also use the "Project Settings" link at the bottom of the sidebar.
- Click the "GitHub" tab.
At the top, the "GitHub Integration" card shows the repository, its description and a "View on GitHub" link.
Why the push webhook matters
When you push to a branch, or merge one branch into another, GitHub has to notify CICDoo so the matching instance is upgraded. That notification is the project's push webhook, created on your repository when the project is created. Without it, pushes and merges reach GitHub but your instances are never upgraded, and nothing looks wrong at first sight.
CICDoo checks every GitHub project once a day and tries to recreate a missing webhook. Creating it needs a GitHub account with admin access to the repository, so the daily retry can keep failing until you fix the access.
Fixing a missing push webhook
When the webhook is missing, the GitHub tab shows a "Push webhook missing" notice.
- Make sure the GitHub account connected to CICDoo has admin access to the repository. See Connecting GitHub.
- On the GitHub tab, click "Create webhook" in the "Push webhook missing" notice.
- Wait for "Webhook created successfully". The notice disappears.
If you see "Could not create the webhook. Check that GitHub is connected and has admin access to this repository.", ask a repository admin to connect their account or grant you admin access, then try again. After the webhook is in place, push again or restart the instance to deploy any commits that were missed. See Restarting, stopping and removing an instance.
Re-syncing a moved or renamed repository
The "Repository" field is read-only. If you transferred the repository to an organization or renamed it, pushes from your instances fail with a 403.
- On the GitHub tab, click "Re-sync from GitHub".
- Wait while CICDoo asks GitHub for the repository's current name. The page reloads with the new owner and name.
- Restart each instance of the project so it picks up the new address.
See Troubleshooting: git push fails with 403 after moving a repository.
Changing the default branch
The "Default Branch" is the branch used for the production instance.
- On the GitHub tab, change "Default Branch" to the branch name you want, for example main.
- Click "Save Changes" at the top right of the page.
The production instance switches to the new branch. Make sure the branch exists in the repository before saving.
Choosing how the project authenticates to GitHub
Under "Authentication", pick one:
- "Standard": use your account's OAuth token, falling back to its classic token. This suits most projects.
- "Classic token only": never use the OAuth token. Choose this when your organization does not allow granting access to OAuth apps.
To switch to a classic token:
- Select "Classic token only".
- Optionally paste a classic token into "Token for this project". Leave it empty to use your account's classic token. Use a project token when this repository lives in a different organization than your other projects.
- Click "Save Changes".
- Click "Re-sync from GitHub" to check that the selected credential can reach the repository.
If you choose "Classic token only" with no project token and no classic token on your account, saving is refused until you add one. A project token is stored on the platform and sent to your instance containers to clone the repository.
Note: Odoo Enterprise always needs a classic token, whatever you pick here. See Odoo versions and editions (Community vs Enterprise).
Related: Connecting GitHub, Merging branches between stages, Deployments and the job queue, Project environments, extensions and deletion.
If you get stuck, open a support ticket from the Tickets page or the chat widget.
Still stuck? Open a ticket from the app or talk to an engineer.