Add external repositories in Cloud Manager external-repositories
Learn how to add an external repository into Cloud Manager. Cloud Manager supports integration with GitHub Enterprise, GitLab, and Bitbucket repositories.
Customers can now also onboard their Azure DevOps (Beta) Git repositories into Cloud Manager, with support for both modern Azure DevOps and legacy VSTS (Visual Studio Team Services) repositories.
- For Edge Delivery Services users, the onboarded repository can be used to sync and deploy site code.
- For AEM as a Cloud Service and 蜜豆视频 Managed Services (AMS) users, the repository can be linked to both full-stack and frontend pipelines.
Configure an external repository
Configuration of an external repository in Cloud Manager consists of the following steps:
- Add an external repository to a selected program
- Link a validated external repository to a pipeline
- Configure a webhook to an external repository.
Add an external repository add-ext-repo
-
Log into Cloud Manager at and select the appropriate organization.
-
On the My Programs console, select the program to which you want to link an external repository.
-
In the side menu, under Program, click
-
Near the upper-right corner of the Repositories page, click Add Repository.
-
In the Add Repository dialog box, select Private Repository to link an external Git repository to your program.
-
In each respective field, provide the following details about your repository:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 Field Description Repository Name Required. An expressive name for your new repository. Repository URL Required. The URL of the repository.
If you are using a GitHub-hosted repository, the path must end in.git
.
For example,https://github.com/org-name/repo-name.git
(URL path is for illustration purposes only).
If you are using an external repository, it must use the following URL path format:https://git-vendor-name.com/org-name/repo-name.git
orhttps://self-hosted-domain/org-name/repo-name.git
And match your Git vendor.Select Repository Type Required. Select the repository type that you are using. If the repository URL path includes the Git vendor name, such as GitLab or Bitbucket, the repository type is already pre-selected for you.:
- GitHub (GitHub Enterprise and the self-hosted version of GitHub)
- GitLab (both
gitlab.com
and the self-hosted version of GitLab) - Bitbucket (only
bitbucket.org
- cloud version) is supported. The self-hosted version of Bitbucket was deprecated starting February 15, 2024. - Azure DevOps (
dev.azure.com
)
Description Optional. A detailed description of the repository. -
Select Save to add the repository.
Now, provide an access token to validate ownership of the external repository.
-
In the Private Repository Ownership Validation dialog box, provide an access token to validate ownership of the external repository so you can access it, then click Validation.
Selecting an existing access token for a Bitbucket repository (for illustration only).
table 0-row-2 1-row-2 2-row-2 | |
---|---|
Access token option | Description |
Use existing Access Token | If you have already provided a repository access token for your organization and have access to multiple repositories, you can select an existing token. Use the Token Name drop-down list to choose the token you want to apply to the repository. Otherwise, add a new access token. |
Add new Access Token |
|
After validation, the external repository is ready to use and link to a pipeline.
See also Manage Access Tokens.
table 0-row-2 1-row-2 2-row-2 | |
---|---|
Access token option | Description |
Use existing Access Token | If you have already provided a repository access token for your organization and have access to multiple repositories, you can select an existing token. Use the Token Name drop-down list to choose the token you want to apply to the repository. Otherwise, add a new access token. |
Add new Access Token |
|
After validation, the external repository is ready to use and link to a pipeline.
See also Manage Access Tokens.
table 0-row-2 1-row-2 2-row-2 | |
---|---|
Access token option | Description |
Use existing Access Token | If you have already provided a repository access token for your organization and have access to multiple repositories, you can select an existing token. Use the Token Name drop-down list to choose the token you want to apply to the repository. Otherwise, add a new access token. |
Add new Access Token |
|
After validation, the external repository is ready to use and link to a pipeline.
See also Manage Access Tokens.
table 0-row-2 1-row-2 2-row-2 | |
---|---|
Access token option | Description |
Use existing Access Token | If you have already provided a repository access token for your organization and have access to multiple repositories, you can select an existing token. Use the Token Name drop-down list to choose the token you want to apply to the repository. Otherwise, add a new access token. |
Add new Access Token |
|
After validation, the external repository is ready to use and link to a pipeline.
See also Manage Access Tokens.
Link a validated external repository to a pipeline validate-ext-repo
-
Add or edit a pipeline:
Add Non-Production Pipeline dialog box with selected repository and Git branch, -
When adding or editing a pipeline, to specify the Source Code location for your new or existing pipeline, choose the external repository you want to use from the Repository drop-down list.
-
In the Git Branch drop-down list, select the branch as the source for the pipeline.
-
Click Save.
Configure a webhook for an external repository configure-webhook
Cloud Manager lets you configure webhooks for external Git repositories that you have added. See Add an external repository. These webhooks permit Cloud Manager to receive events that are related to different actions within your Git vendor solution.
For example, webhooks allow Cloud Manager to trigger actions based on events such as the following:
- Pull request (PR) creation 鈥 Initiates PR validation functionality.
- Push events 鈥 Starts pipelines when the 鈥淥n Git Commit鈥 trigger is turned on (enabled).
- Future comment-based actions 鈥 Allows workflows, such as direct deployment from a PR, to a Rapid Development Environment (RDE).
Webhook configuration is not required for repositories hosted on GitHub.com
because Cloud Manager integrates directly through the GitHub app.
For all other external repositories that are onboarded with an access token 鈥 such as GitHub Enterprise, GitLab, Bitbucket, and Azure DevOps 鈥 webhook configuration is available and must be set up manually.
To configure a webhook for an external repository:
-
Log into Cloud Manager at and select the appropriate organization.
-
On the My Programs console, select the program to which you want to configure a webhook for an external Git repository.
-
In the upper-left corner of the page, click
-
In the left side menu, Under the Program heading, click
-
On the Repositories page, using the Type column to guide you in your selection, locate the repository you want, then click
-
From the drop-down menu, click Config Webhook.
-
In the Config Webhook dialog box, do the following:
- Next to the Webhook URL field, click
Paste the URL in a plain text file. The copied URL is required for your Git vendor鈥檚 Webhook settings. - Next to the Webhook Secret token/key field, click Generate, then click
Paste the secret in a plain text file. The copied secret is required for your Git vendor鈥檚 Webhook settings.
- Next to the Webhook URL field, click
-
Click Close.
-
Navigate to your Git vendor solution (GitHub Enterpriser, GitLab, Bitbucket, or Azure DevOps).
All the details on the webhook configuration and the events that are required for each vendor are available in Add an external repository. Under step 8, see the tabbed table.
-
Locate the solution鈥檚 Webhook Settings section.
-
Paste the Webhook URL that you copied earlier into the URL text field.
-
Replace the
api_key
query parameter in the Webhook URL with your own real API key.To generate an API key, you must create an integration project in 蜜豆视频 Developer Console. See for full details.
-
-
Paste the Webhook Secret that you copied earlier into the Secret (or Secret key, or Secret token) text field.
-
Configure the webhook to send the events that Cloud Manager requires. Use the following table to determine the correct events for your Git provider.
table 0-row-1 1-row-1 |
---|
Required webhook events |
These events allow Cloud Manager to respond to GitHub activity, such as pull request validation, push-based triggers for pipelines, or Edge Delivery Services code sync.
|
table 0-row-1 1-row-1 |
---|
Required webhook events |
These webhook events allow Cloud Manager to trigger pipelines when code is pushed or a merge request is submitted. They also track comments related to pull request validation (through note events).
|
table 0-row-1 1-row-1 |
---|
Required webhook events |
These events ensure that Cloud Manager can validate pull requests, respond to code pushes, and interact with comments for pipeline coordination.
|
table 0-row-1 1-row-1 |
---|
Required webhook events and authentication |
These events ensure that Cloud Manager can validate pull requests, respond to code pushes, and interact with comments for pipeline coordination.
Set authentication: |
Validation of pull requests with webhooks
After webhooks are correctly configured, Cloud Manager automatically triggers pipeline executions or PR validation checks for your repository.
The behavior varies depending on the Git provider that you use, as outlined below.
When the check is created, it appears like the following screenshot below. The key difference from GitHub.com
is that GitHub.com
uses a check-run, while GitHub Enterprise (using personal access tokens) generates a commit status:
GitLab interactions rely solely on comments. When validation begins, a comment is added. When validation is complete (whether successful or failed), the initial comment is removed and replaced with a new comment containing validation results or error details.
When code quality validation is running:
When cold quality validation is finished:
When code quality validation fails with an error:
When the code quality validation fails due to customer issues:
When code quality validation is running:
Uses commit status for tracking PR validation progress. In the following case, the screenshot shows what happens when a code quality validation fails due to a customer issue. A comment is added with detailed error information, and a commit check is created, which shows the failure (visible on the right):
Troubleshoot webhook issues
- Ensure that the Webhook URL includes a valid API key.
- Check that webhook events are correctly configured in your Git vendor settings.
- If PR validation or pipeline triggers are not working, verify that the Webhook Secret is up to date in both Cloud Manager and your Git vendor.