Setup Git Connections
T
Written by Tam Tran
Updated over a week ago

Connect to your Git Server

Copado Essentials supports most of the common Git providers including: GitHub, GitLab, Bitbucket, and Azure. For each type, both cloud-based and on-premise versions are supported. For example, if you are using BitBucket cloud-based, select “Bitbucket”. If you are using BitBucket on-premise, select “Bitbucket Server”.

In addition, Copado Essentials can integrate with Copado Version Control for teams who do not currently have a Git solution, or for teams who are looking to consolidate services.

For cloud-based, Oauth2 authentication is supported. For on-premise, authentication is done via username/password or personal access token.

NewGitConnection.PNG

Connect using SSH

By default, Copado Essentials uses HTTPs for all your git connections. However, you can select to connect using SSH. Currently, we support SSH for GitHub and GitHub Enterprise. For SSH, please select GitHub Enterprise even if your provider is GitHub cloud (github.com).

Screen_Shot_2019-07-23_at_9.23.44_PM.png

Please make sure you enter the SSH repo url (start with git@), rather than the HTTPs repo url. You can find the repo url for both SSH and HTTPs within the Github UI.

Click 'generate key pair' and copy the public key to your GitHub UI under User > Setting > SSH Key. Note that only the public key needs to be copied to GitHub UI, not the private key.

When you copy and paste the public key to the user setting section within GitHub, you essentially authorize access to all repos that the user has access to. If you just want to authorize a single repo access, you can copy and paste the public key to Selected Repo > Deploy Key section.

Common issues

Unable to access Organization Private repository using Oauth2

This happens when users attempt to access Organization Private repository while the organization owner hasn’t granted OAuth Access to Copado Essentials app.

You can resolve this by requesting the organization owner to grant Copado Essentials OAuth App access to the organization's private resources. Please review this article for further details: https://help.github.com/en/articles/about-oauth-app-access-restrictions

Alternatively, you can select Git Enterprise connection instead (e.g. if you are using GitHub, then select “GitHub Enterprise”). By selecting this option, you can manually enter the server URL and username/password (or personal access token) to connect to the repository. Connections made in this fashion is not subjected to OAuth access restrictions.

Webhook is not working

It is very likely that the “Git Repo URL” does not exactly match the URL returned from the Webhook.

You can go back to edit your Git Server, make sure that the URL has “.git” at the end. For GitHub and GitLab, the CI Webhook secret will need to be updated if the Git Server URL is changed.

Azure Username/password doesn’t work

With Azure DevOps Server, a personal access token should be used instead of a password. Details of how to setup Azure DevOps access token: https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops

GitHub username/password doesn't work

GITHub password authentication was removed on August 13, 2021. Personal Access Token (PAT) should be used instead. Details of how to setup GitHub PAT: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

Did this answer your question?