All pages
Powered by GitBook
1 of 83

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Protected resources

Overview of protected Bitbucket Data Center resources, including repositories, wikis, and metadata secured by backup.

Bitbucket Data Center protected resources define which parts of your environment Xopero ONE can access, secure, and restore.


Backup coverage

The following list includes all Bitbucket Data Center resources covered by backup.

The list is presented in alphabetical order.

DevOps

Bitbucket

Repository selection methods

Learn about repository and project selection methods in Xopero ONE, including manual selection and rule-based configuration.

Xopero ONE supports multiple repository selection methods that allow administrators to define the scope of backup and recovery operations according to organizational requirements. Repositories can be selected manually, automatically, or included and excluded based on configurable rules and filters.


Selecting data to protect

When creating a backup plan, one of the steps is to specify which repositories you want to protect. Xopero ONE offers several methods for selecting repositories:

  1. Protect all: this option ensures that all existing repositories and projects, as well as any newly created ones, are automatically included in the backup plan without requiring manual updates.

  2. Select projects: using checkboxes, you can choose specific projects to protect.

  3. Select repositories: using checkboxes, you can choose specific repositories to protect.

  1. Exclude repositories: using checkboxes, you can exclude specific repositories, allowing the plan to cover all other repositories by default.

  2. Set rules: this option lets you define criteria to include repositories and projects based on attributes such as their names or associated topics, ensuring that repositories meeting these conditions are automatically protected.

General

Useful tools and tips for backup and recovery across all supported DevOps platforms.

Adding Azure DevOps Server to Xopero ONE

This article explains how to add an Azure DevOps Server organization to Xopero ONE.


1

Log in to XMS, open the DevOps tab on the left side of the window, and select Azure DevOps from the list.

2

Backup

Recovery

GitHub

GitHub Enterprise

Backup

Integration

Recovering teams

Learn about recovering GitHub teams in Xopero ONE.

When restoring repositories, one type of metadata that can be restored is teams. Xopero ONE ensures that teams and their associated users are reinstated.

Before starting the restoration process, a prompt will inform you of this action—accepting the prompt will restore teams and send invitations as needed. Canceling the prompt will exclude teams from the restoration process.


The maximum number of external collaborators that can be restored for a single repository in one operation is limited to 50. This restriction is due to GitHub API limitations, which define how many collaborators can be processed in a single batch. This constraint is independent of Xopero ONE and cannot be bypassed by the backup solution.


Recovery

Overview of Azure DevOps and DevOps Server backup recovery in Xopero ONE, including restoration of repositories, wikis, and related metadata.

API limits

Rate limits are enforced for security and stability— excessive requests may block access or disrupt the application’s operation. For detailed information, refer to the .

Adding a Bitbucket DC instance to Xopero ONE

This article explains how to add a Bitbucket DC organization to Xopero ONE.

1

Log in to XMS, open the DevOps tab on the left side of the window, and select Bitbucket from the list.

2

Click the Connect button under Bitbucket Data Center

Backup

Recovery

Backup

Backup

Recovery

Overview of Bitbucket data recovery in Xopero ONE, including restoration of repositories, wikis, and related metadata.

Azure DevOps & DevOps Server

API rate limits

Learn about GitHub API rate limits.

Rate limits are enforced for security reasons to prevent a large number of requests from blocking or destabilizing the application.


GitHub limits the number of API requests that you can make within a specific time period to prevent abuse, protect against denial-of-service conditions, and maintain platform stability. Primary rate limit thresholds are determined by your authentication method, though specific resource-intensive endpoints—such as search APIs—enforce stricter request quotas.

You can learn more about GitHub API rate limits in the official GitHub documentation.


Bitbucket Data Center

Integration

Integration

Integration

Learn how to integrate GitHub Enterprise (cloud or self-hosted) with Xopero ONE to protect repositories and their metadata.

Integration

Recovery

Overview of Bitbucket Data Center data recovery in Xopero ONE, including restoration of repositories and related metadata.

Backup

Rate limits

Rate limits are implemented to ensure the stability and security of the system, as excessive requests could overload or destabilize the application. For detailed information on GitLab rate limits, refer to .

Integration

GitLab

Recovering teams

Learn about recovering GitHub Enterprise teams in Xopero ONE.

When restoring repositories, one type of metadata that can be restored is teams. Xopero ONE ensures that teams and their associated users are reinstated.

Before starting the restoration process, a prompt will inform you of this action—accepting the prompt will restore teams and send invitations as needed. Canceling the prompt will exclude teams from the restoration process.

Recovery

API limits

Learn about API limitations for Azure DevOps & DevOps Server in Xopero ONE.


Rate limits enhance security by preventing an overwhelming number of requests that could disrupt, block, or destabilize the application's functionality—the system enforces these limits for stability. For more information, visit .


In Azure DevOps Server (on-premises), API limits are flexible and depend on server resources and configuration. Unlike the cloud version, there are no fixed, global request limits—administrators set performance parameters and limits tailored to the organization's specific needs.

Process overview

Learn more about the backup process for Azure DevOps.


Xopero ONE is designed to protect DevOps ecosystems, including Azure DevOps.

To ensure your entire Azure DevOps environment is reliably backed up, make sure to include all repositories along with their related metadata — the best practice is to create a backup plan for critical repositories and metadata that change daily (or even more frequently), for example, using the recommended Grandfather-Father-Son (GFS) rotation scheme.

Additionally, create a separate backup plan for unused repositories that you need to keep for future reference. This type of backup primarily serves Azure DevOps archival purposes, and with unlimited retention, you can store your copies for as long as needed — even indefinitely.

You can also delete repositories from your Azure DevOps account while keeping a copy in storage, which helps bypass Azure DevOps limits.


Incremental

Repositories and projects created after applying method 2 or method 3 will not be automatically included in the backup plan and must be added manually.

Learn more about selection rules and rule patterns in this article.

official Bitbucket documentation
the official GitLab documentation

API limits for Azure DevOps and Azure DevOps Server outline the restrictions on requests that can affect how Xopero ONE interacts with your data.

Azure DevOps

Unfortunately, unlike other DevOps, Microsoft does not provide information about the exact number of queries that can be sent in a given time period.

Azure DevOps Server

the official Microsoft Learn website
Cover
Protected resources
Cover
Creating a backup plan
Cover
Cross-recovery for DevOps organizations
Cover
Single repository recovery
Cover
Recovering multiple repositories
Cover
Wiki recovery for DevOps organizations
Cover
Recovering teams
Cover
Integration
Cover
Backup
Cover
Recovery
Cover
Integration
Cover
Backup
Cover
Recovery
Cover
Protected resources
Cover
Creating a backup plan
Cover
Required permissions
Cover
GitHub App
Cover
Adding GitHub organization to Xopero ONE
Cover
Cross-recovery for DevOps organizations

How Xopero ONE restores repositories and metadata across Git providers for rapid disaster recovery and DevOps migrations.

Cover
Single project recovery

Recover a single Azure DevOps and DevOps Server project backup copy, including its repositories and other metadata.

Cover
Single repository recovery

Learn how to restore a single Azure DevOps and DevOps Server repository backup.

Cover
Recovering multiple projects

Restore multiple Azure DevOps and DevOps Server project backup copies at once.

Cover
Recovering multiple repositories

How to restore multiple Azure DevOps and DevOps Server repository backup copies at once.

Cover
Wiki recovery for DevOps organizations

How to restore a DevOps organization wiki and its metadata separately.

Cover
Protected resources
Cover
Creating a backup plan
Cover
Creating a backup plan for a group
Cover
Cross-recovery for DevOps organizations
Cover
Project (classic) recovery
Cover
Single repository recovery
Cover
Recovering multiple repositories
Cover
Wiki recovery for DevOps organizations
Cover
Recovering teams
Cover
Process overview
Cover
Protected resources
Cover
API rate limits
Cover
Creating a backup plan
Cover
Process overview
Cover
Protected resources
Cover
Creating a backup plan
Cover
Cross-recovery for DevOps organizations

How Xopero ONE restores repositories and metadata across Git providers for rapid disaster recovery and DevOps migrations.

Cover
Single repository recovery

How to restore a single Bitbucket repository backup copy to a Git service or to localhost.

Cover
Recovering multiple repositories

Restore multiple Bitbucket repository backup copies at once to a local device or to any Git service integrated with Xopero ONE.

Cover
Wiki recovery for DevOps organizations

How to restore a DevOps organization wiki and its metadata separately.

Cover
Integration
Cover
Backup
Cover
Recovery
Cover
Integration
Cover
Backup
Cover
Recovery
Cover
Required permissions
Cover
API limits
Cover
Adding Bitbucket organization to Xopero ONE
Cover
Required permissions
Cover
Rate limits
Cover
Adding GitLab (cloud) organization to Xopero ONE
Cover
Adding GitLab (self-managed) organization to Xopero ONE
Cover
Required permissions

Required permissions for integrating GitHub Enterprise with Xopero ONE and protecting its resources.

Cover
Adding GitHub Enterprise organization to Xopero ONE

Learn how to integrate your GitHub Enterprise organization with Xopero ONE using a personal access token (PAT).

Cover
Required permissions
Cover
API limits
Cover
Adding Azure DevOps organization to Xopero ONE
Cover
Adding Azure DevOps Server to Xopero ONE
Cover
Cross-recovery for DevOps organizations

How Xopero ONE restores repositories and metadata across Git providers for rapid disaster recovery and DevOps migrations.

Cover
Single repository recovery

Restore a single Bitbucket DC repository backup copy to a Git service or to localhost.

Cover
Recovering multiple repositories

Restore multiple Bitbucket DC repository backup copies at once to any local device or Git service assigned to the Xopero ONE platform.

Cover
Protected resources
Cover
Creating a backup plan
Cover
Required permissions
Cover
Cover
Adding a Bitbucket DC instance to Xopero ONE
Cover
Integration
Cover
Backup
Cover
Recovery
Cover
Cross-recovery for DevOps organizations
Cover
Single repository recovery
Cover
Recovering multiple repositories
Cover
Wiki recovery for DevOps organizations
Cover
Recovering groups
General
Azure DevOps & DevOps Server
Bitbucket
Bitbucket Data Center
GitHub
GitHub Enterprise
GitLab
Cover
Cover
Cover
Cover
Cover
Cover
Cover
Integration
Backup
Recovery
Cover
Cover
Cover

Learn about repository and project selection methods in Xopero ONE, including manual selection and rule-based configuration.

Configure selection rules to automatically include or exclude specific Git repositories and projects from backup jobs.

How Xopero ONE restores repositories and metadata across Git providers for rapid disaster recovery and DevOps migrations.

Learn how Xopero ONE restores Git LFS objects alongside repositories to ensure complete data recovery for DevOps organizations.

How to restore a DevOps organization wiki and its metadata separately.

Repository selection methods
Repository selection rules
Cross-recovery for DevOps organizations
LFS recovery for DevOps organizations
Wiki recovery for DevOps organizations
Cover
Cover
Cover
Cover
Cover
and
differential backups
help save storage space. In
Xopero ONE
you can define different retention and performance settings for each type of backup (
full
,
incremental
, and
differential
). For example, our software
allows you to include only the blocks of
Azure DevOps
data that have changed since the last backup, reducing storage usage, speeding up the process, and limiting bandwidth.

Use different types of storage to replicate backups, minimize the risk of outages or disasters, and comply with the 3-2-1 backup rule (which means having at least three copies of your data on two different storage types, with at least one copy stored in the cloud).

Xopero ONE is a multi-storage system that allows you to store your data:

The Azure DevOps & DevOps Server backup process in Xopero ONE securely connects to your DevOps environment, captures repositories, projects and related metadata, and stores verified backup copies that can be restored when needed.

General information

Backup type

Adding multiple storage instances

Click the
Connect
button under
Azure DevOps Server
.
3

Set your authentication method.

  1. In Authentication, select Azure DevOps Server.

  2. Enter the service address of your Azure DevOps Server (IP or DNS name, including the protocol).

  3. Add or select PAT from the Password Manager.

  4. Choose whether Xopero should automatically add new repositories to your backup.

4

Configure your repository sync and default worker. Specify hours for synchronization, or set a time interval for automatic updates.

Cloud workers cannot access local network storage. Choose a device with the necessary access if backing up locally.

5

Click Proceed to complete adding your Azure DevOps Server organization and grant Xopero ONE access to the specified resources.

6

Your Azure DevOps Server organization has now been successfully added to Xopero ONE. Click Custom policy to adjust your backup policy settings, or click Run backup to execute the backup immediately using the current policy configuration.

Adding an Azure DevOps Server to Xopero ONE connects your projects and repositories to the platform, enabling seamless backup management and secure data protection.

Using a Personal Access Token (PAT)

Azure DevOps Server (self-managed, on-premise) does not support OAuth and requires a personal access token.

.
3

Set your authentication method.

  1. In Authentication, select Bitbucket DC.

  2. Enter the Bitbucket DC server IP address and your username.

  3. Add or select password from the Password Manager (same as your Bitbucket DC credentials).

  1. Choose whether Xopero ONE should automatically add new repositories to your backup.

4

Configure your repository sync and default worker. Specify hours for synchronization, or set a time interval for automatic updates.

5

Click Proceed to complete adding your Bitbucket DC organization and grant Xopero ONE access to the specified resources.


Using username and password

Useful links and items

Overview

This process may include sending invitations for users to rejoin the organization.

Limitations

Useful links and items

General information

Useful links and items

This process may include sending invitations for users to rejoin the organization.

Creating a backup plan

This article contains information on how to set up a GitHub backup plan.

Backup plan setup

1

Login to XMS, open the Plans > Backup tab and click the Add plan button in the top bar.

2

Select GitHub from the list.

3

Select (or add) the GitHub environment you want to include in the backup process, and choose the repositories to back up.

4

Specify a name for the backup plan.

5

Select the appropriate metadata that you want to back up. Here, you can also change the default worker, which is the device directly responsible for the backup process of your repositories.

6

Select one of the locations assigned to your Xopero ONE instance as storage.

7

Customize the scheduler and specify how long your data should be retained. If needed, adjust the advanced settings to suit your needs.

8

If necessary, adjust the advanced settings such as encryption, error handling, or bandwidth limits to fit your requirements.

9

Double-check your data and click Save to create the backup plan.


Creating a backup plan

This article provides instructions on how to set up a Bitbucket backup plan.

Backup plan setup

1

Login to XMS, open the Plans > Backup tab and click the Add plan button in the top bar.

2

Select Bitbucket from the list.

3

Select (or add) the Bitbucket environment you want to include in the backup process, and choose the repositories to back up.

4

Specify a name for the backup plan.

5

Select the appropriate metadata that you want to back up. Here, you can also change the default worker, which is the device directly responsible for the backup process of your repositories.

6

Select one of the locations assigned to your Xopero ONE instance as storage.

7

Customize the scheduler and specify how long your data should be retained. If needed, adjust the advanced settings to suit your needs.

8

If necessary, adjust the advanced settings such as encryption, error handling, or bandwidth limits to fit your requirements.

9

Double-check your data and click Save to create the backup plan.


LFS recovery for DevOps organizations

Learn how Xopero ONE restores Git LFS objects alongside repositories to ensure complete data recovery for DevOps organizations.

Xopero ONE supports backup and recovery of Git Large File Storage (LFS) content for DevOps organizations, ensuring that repositories configured with Git LFS are protected together with their associated large binary objects. During restore operations, both standard Git data and LFS objects are recovered to preserve repository integrity and maintain consistency across supported DevOps platforms.


Restoring LFS metadata

Xopero ONE supports the backup and recovery of LFS objects across all supported DevOps platforms.

While you can choose whether to include LFS metadata during the recovery process, please note that LFS must be restored alongside its parent repository; it cannot be recovered as a standalone item.

If LFS objects are included in your repository’s source code archives, downloading those archives will count toward the repository’s bandwidth usage.

Example of LFS metadata included in Azure DevOps project recovery process.

Useful links and items

Required permissions

Permissions required to integrate Bitbucket Data Center with Xopero ONE to protect its resources.

To protect a Bitbucket Data Center (DC) environment with Xopero ONE, the account used to authorize the connection must have sufficient permissions to access the workspaces, repositories, and related resources designated for backup.


Supported platform versions

Xopero ONE supports Bitbucket Data Center (DC) version 3.0.4 and higher, enabling comprehensive repository and metadata protection regardless of the underlying host operating system.


Account permissions

For Bitbucket DC integrations, an HTTP access token can be used in place of a password. Since these tokens inherit your user account's existing privileges, ensure you restrict the token's permissions to the access levels required for Xopero ONE operations before connecting.

In Bitbucket Data Center, account permissions can be managed in three distinct ways, all of which are fully supported for use with Xopero ONE:

  1. Global permissions — the user account connecting Bitbucket DC with Xopero ONE must have at least administrator privileges. Using global permissions grants the application access to protect all repositories across the entire Bitbucket DC instance.

  2. Project permissions — alternatively, you can assign write permissions at the project level to the connecting user account. This method restricts Xopero ONE synchronization and backup scope strictly to the repositories within those specific projects.

  3. Repository permissions — permissions can also be configured individually for each specific repository, offering granular control via two operational tiers:

    1. Read (sufficient to perform data backups, but cannot be used to execute repository restorations).

    2. Write (full authorization to perform both backup and restoration operations).


Required permissions

Required permissions for integrating GitHub Enterprise with Xopero ONE and protecting its resources.

Connecting GitHub Enterprise with Xopero ONE requires appropriate permissions to access and protect repositories and their associated metadata. The required permissions depend on the type of data that needs to be protected.


General permissions

Xopero ONE supports backup and restore for GitHub Enterprise Cloud deployments that are separated from the main GitHub environment (for example, your-org.ghe.com). You can integrate isolated GitHub Enterprise Cloud instances as GitHub Enterprise Cloud with Data Residency.

Integrating GitHub with Xopero ONE to back up and restore repositories, projects, and associated metadata requires an account with full administrative privileges.

To authenticate and access your account, Xopero ONE requires the following permission scopes:


Personal access tokens are generated in GitHub Enterprise account settings under Tokens and can be assigned different permissions.

Registering the Xopero ONE application and executing full repository backup and restore tasks requires a token configured with at least repo and workflow permissions.


Adding GitLab (self-managed) organization to Xopero ONE

This article explains how to add a GitLab (self-managed) organization to Xopero ONE.

Using Personal Access Token (PAT)

1

Log in to XMS, open the DevOps tab on the left side of the window, and select GitLab from the list.

2

Click the Connect button under GitLab Self-managed.

3

Set your authentication method.

  1. In Authentication, select GitLab Self-Managed.

  2. In Settings, enter your GitLab service IP address.

4

Configure your repository sync and default worker. Specify hours for synchronization, or set a time interval for automatic updates.

5

Click Proceed to complete adding your GitLab (self-managed) organization and grant Xopero ONE access to the specified resources.

Creating a backup plan

This article contains information on how to set up a GitLab repository backup plan.

Backup plan setup

1

Login to XMS, open the Plans > Backup tab and click the Add plan button in the top bar.

2

Select GitLab from the list, and then click Repos and metadata in the next aside.

3

Select (or add) the GitLab environment you want to include in the backup process, and choose the repositories to back up.

4

Specify a name for the backup plan.

5

Select the appropriate metadata that you want to back up. Here, you can also change the default worker, which is the device directly responsible for the backup process of your repositories.

6

Select one of the locations assigned to your Xopero ONE instance as storage.

7

Customize the scheduler and specify how long your data should be retained. If needed, adjust the advanced settings to suit your needs.

8

If necessary, adjust the advanced settings such as encryption, error handling, or bandwidth limits to fit your requirements.

9

Double-check your data and click Save to create the backup plan.


Creating a backup plan for a group

In this article, you will find information about GitLab group backup in Xopero ONE.

Backup plan setup

1

Login to XMS, open the Plans > Backup tab and click the Add plan button in the top bar.

2

Select GitLab from the list, and then click Groups in the next aside.

3

Add or select the GitLab groups you want to add to your plan.

4

Specify a name for the backup plan.

5

Select the appropriate metadata that you want to back up. Here, you can also change the default worker, which is the device directly responsible for the backup process of your repositories.

6

Select one of the locations assigned to your Xopero ONE instance as storage.

7

Customize the scheduler and specify how long your data should be retained. If needed, adjust the advanced settings to suit your needs.

8

If necessary, adjust the advanced settings such as encryption, error handling, or bandwidth limits to fit your requirements.

9

Double-check your data and click Save to create the backup plan.


Creating a backup plan

Backup plan setup

1

Login to XMS, open the Plans > Backup tab and click the Add plan button in the top bar.

2

Select Bitbucket from the list.

3

Select (or add) the Bitbucket DC environment you want to include in the backup process, and choose the repositories to back up.

4

Specify a name for the backup plan.

5

Select the appropriate metadata that you want to back up. Here, you can also change the default worker, which is the device directly responsible for the backup process of your repositories.

6

Select one of the locations assigned to your Xopero ONE instance as storage.

7

Customize the scheduler and specify how long your data should be retained. If needed, adjust the advanced settings to suit your needs.

8

If necessary, adjust the advanced settings such as encryption, error handling, or bandwidth limits to fit your requirements.

9

Double-check your data and click Save to create the backup plan.


Required permissions

Account

To log in to your account, Xopero ONE requires the following permissions:

  1. Access the authenticated user’s API — Xopero needs read and write access to the API, including:

    1. All groups and projects.

    2. The container registry.

    3. The package registry.


The following permissions are the minimum needed to register the Xopero ONE application in your account and access repositories:

By creating Personal Access Token, you can assign various types of permissions. Below is a list of permissions that will allow you to backup the repository metadata you are interested in in your organization.

read_api - Read permission required to assign an organization to GitLab.

api - Grants complete read/write access to the API, including all groups and projects.

read_repository - it is required to access the list of repositories and to be able to back them up.

write_repository - it is required to access to restore repository.

read_registry - grants read access to a Container Registry images if a project is private and authorization is required.

By creating a personal access token, you can assign different types of permissions. The following permissions allow you to back up the repository metadata in your organization:

  • read_api — required to assign an organization to GitLab.

  • api — grants full read/write access to the API, including all groups and projects.

  • read_repository — required to access the list of repositories and perform backups.

  • write_repository — required to restore a repository.

Recovering groups

In this article, you will learn how to restore data from a GitLab group backup.

Recovery process

1

Get into the restore view using the following method:

  1. Open the GitLab tab (DevOps > GitLab), then click the Groups button next to the organization whose backup you want to restore.

  1. Search for the repository you want to restore, and click the Restore button in the action menu of that repository.

2

Next, select the backup plan from which you want to restore data. Click AVAILABLE PLANS and choose one of the plans from the list.

3

Choose the backup version from all the backups that have already been performed — select the desired date and click the Restore button.

4

Choose the data you want to restore, or use the default settings.

5

In the next aside, click Edit next to Data to restore if you need to adjust it.

6

Next, select the destination where you want to restore the data.

7

In Restore settings you can set a custom name for the repository that will be created during the restore process and limit the internet bandwidth.

8

In Device used to restore the data section, choose the device that will be responsible for performing the restoration.

9

After defining all parameters, click the Start now button to begin the restore process. When the process is complete, a new repository will be created in your organization account.

Creating a backup plan

This article contains information on how to set up Azure DevOps & DevOps Server backup plan.

Creating an Azure DevOps (or DevOps Server) backup plan ensures your projects and data are securely protected and easily restorable.


Backup plan setup

1

Login to Xopero ONE Management Service, open the Plans > Backup tab and click the Add plan button in the top bar.

2

Select Azure DevOps from the list.

3

Select (or add) the Azure DevOps or DevOps Server environment you want to include in the backup process, and choose the repositories to back up.

  1. Protect all — protects an entire Azure DevOps organization.

  2. Select projects — allows you to protect selected Azure DevOps projects (including its metadata).

  3. Select repositories — protects only

4

Specify a name for the backup plan.

5

Select the appropriate metadata that you want to back up. Here, you can also change the default worker, which is the device directly responsible for the backup process of your repositories.

6

Select one of the locations assigned to your Xopero ONE instance as storage.

7

Customize the scheduler and specify how long your data should be retained. If needed, adjust the advanced settings to suit your needs.

8

If necessary, adjust the advanced settings such as encryption, error handling, or bandwidth limits to fit your requirements.

9

Double-check your data and click Save to create the backup plan.


Creating a backup plan

This article describes how to create a backup plan to back up your GitHub Enterprise repositories.

Backup plan setup

1

Login to XMS, open the Plans > Backup tab and click the Add plan button in the top bar.

2

Select GitHub from the list.

3

Select (or add) the GitHub Enterprise environment you want to include in the backup process, and choose the repositories to back up.

4

Specify a name for the backup plan.

5

Select the appropriate metadata that you want to back up. Here, you can also change the default worker, which is the device directly responsible for the backup process of your repositories.

6

Select one of the locations assigned to your Xopero ONE instance as storage.

7

Customize the scheduler and specify how long your data should be retained. If needed, adjust the advanced settings to suit your needs.

8

If necessary, adjust the advanced settings such as encryption, error handling, or bandwidth limits to fit your requirements.

9

Double-check your data and click Save to create the backup plan.


Process overview

Learn more about the backup process for GitHub.

General information

Xopero ONE is designed to protect DevOps ecosystems, including GitHub.

To ensure your entire GitHub environment is reliably backed up, make sure to include all repositories along with their related metadata — the best practice is to create a backup plan for critical repositories and metadata that change daily (or even more frequently), for example, using the recommended Grandfather-Father-Son (GFS) rotation scheme.

Additionally, create a separate backup plan for unused repositories that you need to keep for future reference. This type of backup primarily serves GitHub archival purposes, and with unlimited retention, you can store your copies for as long as needed — even indefinitely.

You can also delete repositories from your GitHub account while keeping a copy in storage, which helps bypass GitHub limits.


Backup type

Incremental and differential backups help save storage space. In Xopero ONE you can define different retention and performance settings for each type of backup (full, incremental, and differential). For example, our software allows you to include only the blocks of GitHub data that have changed since the last backup, reducing storage usage, speeding up the process, and limiting bandwidth.


Use different types of storage to replicate backups, minimize the risk of outages or disasters, and comply with the 3-2-1 backup rule (which means having at least three copies of your data on two different storage types, with at least one copy stored in the cloud).

Xopero ONE is a multi-storage system that allows you to store your data:

Repository selection rules

Configure selection rules to automatically include or exclude specific Git repositories and projects from backup jobs.

Xopero ONE provides selection rules, allowing administrators to determine which repositories and projects are included or excluded from backup and recovery tasks. Rules can be based on names, owners, creation dates, branches, or specific patterns, offering granular control over the backup scope and ensuring that only relevant repositories and projects are processed.


Below are the selection rules and rule patterns you can use in Xopero ONE to select repositories and projects for inclusion in backup jobs within your DevOps organization.

  1. Repository name — you can use the full or partial name of a repository. Wildcard characters can be used at the end of the rule to match repository names:

  • read_registry — grants read access to Container Registry images when a project is private and authorization is required.

  • Personal Access Token (PAT)

    GitLab can be integrated with Xopero ONE using a personal access token not only for a regular GitLab user account but also for a service account that is a member of the project. The access requirements are the same as for a regular user account; however, the service account must also have at least the maintainer role.

    Xopero ONE supports legacy tokens; for proper system operation, it is recommended to use them instead of fine-grained tokens.

    With minimal privileges, some metadata (such as issues) may not be included in the backup. Select the necessary permissions based on the data you need to protect— if you grant only read permissions, backups can be performed, but restoring data will require a new token or password with write permissions.

    For more information about personal access tokens, visit the official GitLab website.

    Adding multiple storage instances

    There is no option to restore GitLab groups to other Git providers — they can only be restored between GitLab environments.

    Cloud worker (cloud-installed Xopero ONE worker) allows you to perform cloud-to-cloud backups if you want to store your backups in the cloud.

    In Xopero ONE, you can select repositories based on custom properties, but these properties must be configured at the organization level in GitHub. During synchronization, Xopero ONE retrieves the property definitions from the organization and the assigned values from the repositories. After synchronization, the panel displays a list of all properties fetched from every organization on the GitHub side that was added to XMS. For the feature to work correctly, the token used for authorization must also include the read:org permission.

    Optionally, Xopero ONE allows you to protect the entire GitHub environment.

    You can have multiple workers and assign different workers to each backup plan.

    It is worth noting that the cloud worker (a cloud-installed Xopero ONE worker) allows you to perform cloud-to-cloud backups if you want to store your backups in the cloud.

    Useful links and items

    Cloud storage
    Xopero ONE worker
    Scheduler & retention

    Optionally, Xopero ONE allows you to protect the entire Bitbucket environment.

    You can have multiple workers and assign different workers to each backup plan.

    It is worth noting that the cloud worker (a cloud-installed Xopero ONE worker) allows you to perform cloud-to-cloud backups if you want to store your backups in the cloud.

    Useful links and items

    Cloud storage
    Xopero ONE worker
    Scheduler & retention

    Optionally, Xopero ONE allows you to protect the entire GitLab environment.

    You can have multiple workers and assign different workers to each backup plan.

    It is worth noting that the cloud worker (a cloud-installed Xopero ONE worker) allows you to perform cloud-to-cloud backups if you want to store your backups in the cloud.

    Useful links and items

    Cloud storage
    Xopero ONE worker
    Scheduler & retention

    Information about groups and subgroups is included in the backup by default.

    You can have multiple workers and assign different workers to each backup plan.

    It is worth noting that the cloud worker (a cloud-installed Xopero ONE worker) allows you to perform cloud-to-cloud backups if you want to store your backups in the cloud.

    Useful links and items

    Cloud storage
    Xopero ONE worker
    Scheduler & retention

    Optionally, Xopero ONE allows you to protect the entire Bitbucket DC environment.

    You can have multiple workers and assign different workers to each backup plan.

    It is worth noting that the cloud worker (a cloud-installed Xopero ONE worker) allows you to perform cloud-to-cloud backups if you want to store your backups in the cloud.

    Useful links and items

    Cloud storage
    Xopero ONE worker
    Scheduler & retention
    selected repositories
    .
  • Set rules — lets you set rules for Xopero ONE to automatically select resources to protect.

  • Xopero ONE allows you to protect the entire Azure DevOps environment.

    You can have multiple workers and assign different workers to each backup plan.

    Useful links and items

    Cloud storage
    Xopero ONE Agent
    Scheduler & retention

    In Xopero ONE, you can select repositories based on custom properties, but these properties must be configured at the organization level in GitHub. During synchronization, Xopero ONE retrieves the property definitions from the organization and the assigned values from the repositories. After synchronization, the panel displays a list of all properties fetched from every organization on the GitHub side that was added to XMS. For the feature to work correctly, the token used for authorization must also include the read:org permission.

    Optionally, Xopero ONE allows you to protect the entire GitHub Enterprise environment.

    You can have multiple workers and assign different workers to each backup plan.

    It is worth noting that the cloud worker (a cloud-installed Xopero ONE worker) allows you to perform cloud-to-cloud backups if you want to store your backups in the cloud.

    Useful links and items

    Cloud storage
    Xopero ONE worker
    Scheduler & retention

    * matches zero or more characters

  • ? matches exactly one character

  • Project name: protects all repositories within the specified project.

    1. Repository name — you can use the full or partial name of a repository. Wildcard characters can be used at the end of the rule to match repository names:

      1. * matches zero or more characters

      2. ? matches exactly one character

    2. Topic name — specify the exact name of a topic. For example, if you enter the topic html, all repositories assigned to the html topic will be backed up.

    1. Repository name — you can use the full or partial name of a repository. Wildcard characters can be used at the end of the rule to match repository names:

      1. * matches zero or more characters

      2. ? matches exactly one character

    2. Topic name — specify the exact name of a topic. For example, if you enter the topic html, all repositories assigned to the html topic will be backed up.

    3. Group path: protects all repositories within the specified group or subgroup path.


    The following are examples of rule patterns, along with brief explanations:

    • Pattern: yourorganization/*

      • This will match all repositories in the organization named yourorganization.

    • Pattern: yourorganization/n??

      • Matches repositories where n is followed by exactly two characters.


    All selection rules can use regular expression patterns (regex).

    Regular expressions let you create flexible and adaptable rules that align with your organization's naming conventions. This approach allows precise targeting and automation based on consistent patterns in repository or project names.

    The following are illustrative examples of how these rules can be applied, although the available configurations extend well beyond these cases:

    • Pattern: yourorganization/repo[0-9]+

      • This will match repositories such as repo1, repo12, repo123, and so on.

    • Pattern: yourorganization/.*data.*

      • Matches any repository name containing the word data.

    • Pattern: yourorganization/(?!.*data.*)

      • Excludes any repository name that contains the word data.

    Selection rules and rule patterns

    Azure DevOps & Bitbucket

    GitHub

    GitLab

    Selection rule examples

    Regular expression patterns (regex)

    Add or select PAT from the Password Manager.
  • Choose whether Xopero should automatically add new repositories to your backup and whether it should include GitLab groups in the backup.

  • For Bitbucket DC, you can also use an HTTP access token instead of a password.

    Useful links and items

    Permissions for personal access tokens (PAT)

    With minimal privileges, certain metadata may not be included in the backup. Select the permissions based on the specific data you need to protect.

    Useful links and items

    Adding Azure DevOps organization to Xopero ONE

    This article explains how to add an Azure DevOps organization to Xopero ONE.

    Adding an Azure DevOps organization to Xopero ONE connects your environment to the platform, enabling secure backup of projects, repositories, and related data.


    Using OAuth

    1

    Log in to XMS, open the DevOps tab on the left side of the window, and select Azure DevOps from the list.

    2

    Click the Connect button under Azure DevOps.

    3

    , log in with a user account which has the required permissions for the repositories or projects to protect. If your Azure login session is active in a different tab, the login will complete automatically.

    4

    Check the Consent on behalf of your organization checkbox and click Accept to proceed.

    5

    Your Azure DevOps organization has now been successfully added to Xopero ONE. Click Custom policy to adjust your backup policy settings, or click Run backup to execute the backup immediately using the current policy configuration.


    1

    Log in to XMS, open the DevOps tab on the left side of the window, and select Azure DevOps from the list.

    2

    Click the advanced mode link under Azure DevOps and Azure DevOps Server tiles.


    When adding an organization, you may be prompted to grant additional permissions to the Xopero ONE application — make sure your browser allows Xopero to open pop-up windows.

    Depending on your browser, you can either adjust the settings to allow pop-ups or permit the authorization window to open once.

    Adding GitHub Enterprise organization to Xopero ONE

    Learn how to integrate your GitHub Enterprise organization with Xopero ONE using a personal access token (PAT).

    Integrating a GitHub Enterprise organization with Xopero ONE allows centralized backup and management of all repositories within the selected GitHub environment. Once the organization is connected, administrators can set backup schedules, apply retention policies, organize repositories into groups, and monitor synchronization status and backup times directly from the dashboard to ensure consistent protection and compliance with data security policies.


    Important notice

    Integration with GitHub Enterprise Cloud and GitHub Enterprise Server in Xopero ONE is only possible through a personal access token (PAT).

    Additionally, if a GitHub Enterprise Cloud organization with data residency includes managed users with SSO enabled, the token must be authorized. Although authorizing the token in a single organization allows Xopero ONE to retrieve all organizations, we recommend authorizing each one you intend to protect. Token authorization is also required in any organization to which you plan to restore data.

    You can find more information about token authorization in the section.


    Integration process

    The below steps demonstrate how to quickly integrate a GitHub Enterprise organization with Xopero ONE using Xopero ONE Management Service.

    1

    Open the DevOps tab on the left side of the window and select GitHub from the list.

    2

    Click Connect under the appropriate GitHub Enterprise instance type (GitHub Enterprise Server or GitHub Enterprise Cloud with Data Residency).

    3

    Wiki recovery for DevOps organizations

    How to restore a DevOps organization wiki and its metadata separately.

    Recovering an organization wiki restores lost or overwritten documentation, enabling projects to quickly regain access to their knowledge base without affecting other repository or project metadata.


    Recovery process for Bitbucket, GitHub, and GitLab

    The following steps demonstrate how to quickly recover your wiki using Xopero ONE Management Service.

    1

    Get into the restore view using the following method:

    1. Open the appropriate DevOps tab, then click the Explore button next to the organization whose backup you want to restore (explore icon in list view).

    2. Search for the repository containing the wiki you want to restore, then click the restore icon in the action menu of that repository.

    2

    In the Backup plans section, select the appropriate backup plan, then go to the Backup copies section to choose the point in time from which you want to restore your wiki.

    3

    Select the Restore now button in the Restore wiki section to configure the restoration settings.

    4

    Select the destination for the recovery and click Next.

    5

    In the Restore to section, select the repository where you want to restore the wiki. If you are restoring the wiki to an Azure DevOps or Azure DevOps Server organization, also select the target project.

    6

    In the Restore settings section, you can limit the bandwidth if required by your network infrastructure and change the backup agent (default worker) that will perform the restoration.

    7

    Once all parameters are defined, click Restore to start the recovery process. You can monitor the progress in the Tasks tab; once finished, the wiki will be available in the defined organization account.


    The following steps demonstrate how to quickly recover your Azure DevOps project wiki using Xopero ONE Management Service.

    1

    Get into the restore view using the following method:

    1. Open the appropriate DevOps tab, then click the Explore button next to the organization whose backup you want to restore (explore icon in list view).

    2. In the Projects & repositories tab, search for the project containing the wiki you want to restore, then click the restore icon in the action menu of that project.


    Recovering multiple repositories

    How to restore multiple Azure DevOps and DevOps Server repository backup copies at once.

    Recovering multiple Azure DevOps repositories simultaneously enables organizations to quickly restore only the selected repositories, ensuring consistent and reliable recovery across the development environment.


    Recovery process

    The following steps demonstrate how to restore multiple Azure DevOps repositories at once using Xopero ONE Management Service.

    1

    Get into the restore view using the following method:

    1. Open the Azure DevOps tab (DevOps > Azure DevOps), then click the Explore button next to the organization whose backup you want to restore (explore icon in list view).

    2. Go to the Repositories tab, select all repositories you want to restore, and then click Restore in the top menu.

    2

    Click every chosen repository to select the backup plan and copy from which you want to restore data, then click Next.

    3

    Select the destination for the recovery and click Next.

    4

    In Data to restore section at the top, click Edit and select data you want to restore.

    5

    In the Throttling prevention section, you can add additional DevOps organization accounts to avoid throttling.

    6

    Configure the recovery destination settings, depending on where the backup will be restored.

    1. In Map organizations section, select the target organizations where the repositories will be restored.

    1. In Restore settings, you can set custom names for all repositories or add a suffix to the original repository names.

    7

    After defining all parameters, click the Restore button to begin the recovery process. When the process is complete, a new project/repository/folder will be created in your organization/on your device. You can monitor the restoration process in the Tasks tab.


    Recovering multiple repositories

    Restore multiple Bitbucket DC repository backup copies at once to any local device or Git service assigned to the Xopero ONE platform.

    Xopero ONE enables multiple repositories recovery for Bitbucket DC, allowing administrators to restore several repositories simultaneously within a selected project or instance scope. The process preserves complete Git history, branches, tags, and supported metadata, ensuring consistency and data integrity across restored repositories.


    Recovery process

    The below steps demonstrate how to restore multiple Bitbucket DC repositories at once using Xopero ONE Management Service.

    1

    Get into the restore view using the following method:

    1. Open the Bitbucket tab (DevOps > Bitbucket), then click the Explore button next to the organization whose backup you want to restore (explore icon in list view).

    2. Select all repositories you want to restore and click Restore in the top menu.

    2

    Click every chosen repository to select the backup plan and copy from which you want to restore data, then click Next.

    3

    Select the destination for the recovery and click Next.

    4

    In Data to restore section at the top, click Edit and select data you want to restore.

    5

    In the Throttling prevention section, you can add additional DevOps organization accounts to avoid throttling.

    6

    Configure the recovery destination settings, depending on where the backup will be restored.

    1. In Map organizations section, select the target organizations where the repositories will be restored.

    1. In Restore settings, you can set custom names for all repositories or add a suffix to the original repository names.

    7

    After defining all parameters, click the Restore button to begin the recovery process. When the process is complete, a new project/repository/folder will be created in your organization/on your device. You can monitor the restoration process in the Tasks tab.


    Recovering multiple repositories

    In this article, you will learn how to restore multiple repositories to a Git service or localhost.

    Recovery process

    1

    Get into the restore view using the following method:

    1. Open the GitLab tab (DevOps > GitLab), then click the Manage & Restore button next to the organization whose backup you want to restore.

    2. Select the repositories you want to restore and click the Restore selected button in the top menu.

    2

    By clicking an individual repository, an aside will appear where you can select a backup plan and a backup version to restore. Click Select under your chosen backup copies to continue.

    3

    Select the destination for the restore process. You can choose one of the assigned organizations from any Git service or any device.

    4

    Choose whether to include metadata in the backup.

    5

    Next, select the destination where you want to restore the data.

    In Map organizations section, select the target organizations where the repositories will be restored.

    In the Restore settings, you can configure the following options:

    When you toggle Restoring repos with custom name switch, a window will appear allowing you to rename one or more repositories.

    6

    In Device used to restore the data section, choose the device that will be responsible for performing the restoration.

    7

    After defining all parameters, click the Start now button to begin the restore process. When the process is complete, new repositories will be created in your organization account.


    Required permissions

    Permissions required to integrate Bitbucket with Xopero ONE to protect its resources.

    To protect a Bitbucket environment with Xopero ONE, the account or token used to authorize the connection must have sufficient permissions to access the workspaces, repositories, and related resources designated for backup. The specific permission scopes vary depending on the chosen authorization method.


    OAuth permissions

    When integrating Bitbucket using the OAuth authentication method, Xopero ONE requires the following permissions to securely access and protect your repository data:


    Every API token created for Bitbucket integration with Xopero ONE requires specific permission scopes to restrict data access and define the exact operations the token can execute.

    To ensure successful backup and recovery tasks, API token must be provisioned with the below required permissions.


    Required permissions

    Required permissions for integrating GitHub with Xopero ONE and protecting its resources.

    Connecting GitHub with Xopero ONE requires appropriate permissions to access and protect repositories and their associated metadata. The required permissions depend on the authorization method used, such as a GitHub App or personal access token (PAT), and on the type of data that needs to be protected.


    Account permissions

    Integrating GitHub with Xopero ONE to back up and restore repositories, projects, and associated metadata requires an account with full administrative privileges.

    Exact roles and permission levels may vary depending on individual repository settings, project configurations, or organization-level security policies. Below are examples of different roles, along with the corresponding permissions and the capabilities they provide in Xopero ONE.

    GITHUB ROLES AND PERMISSIONS
    Organization role
    Repository role
    Capabilities

    Permissions for the OAuth app

    To ensure seamless integration and correct operation, the Xopero ONE OAuth application* requires the following permissions:

    *The Xopero ONE OAuth application for GitHub is called GitProtect.


    Xopero ONE GitHub App* installation requires the following permissions:

    *The Xopero ONE GitHub App is called GitProtect.


    Personal access tokens are generated in GitHub account settings under Settings > Developer settings > Personal access tokens and can be assigned different permissions.

    Registering the Xopero ONE application and executing full repository backup and restore tasks requires a token configured with at least repo and workflow permissions.

    The following list outlines the permissions required to back up repository metadata within an organization:


    Adding GitHub organization to Xopero ONE

    This article explains how to add a GitHub organization to Xopero ONE.

    1

    Log in to XMS, open the DevOps tab on the left side of the window, and select GitHub from the list.

    2

    Click the Connect button under GitHub

    Recovering multiple projects

    Restore multiple Azure DevOps and DevOps Server project backup copies at once.

    Restoring multiple Azure DevOps projects enables organizations to quickly recover projects, repositories, and source code at scale, ensuring consistent and reliable restoration across the development environment.


    The below steps demonstrate how to restore multiple Azure DevOps projects at once using Xopero ONE Management Service.

    1

    Get into the restore view using the following method:

    Single repository recovery

    Learn how to restore a single Azure DevOps and DevOps Server repository backup.

    Xopero ONE allows organizations to restore individual Azure DevOps repositories along with their associated metadata. The process ensures repository integrity and consistency while minimizing impact on other projects, supporting efficient disaster recovery, migration, and point-in-time restore operations.


    The following steps demonstrate how to quickly restore a single Azure DevOps repository using Xopero ONE Management Service.

    1

    Get into the restore view using the following method:

    Single repository recovery

    This article explains how to restore a single repository to a Git service or localhost.

    1

    Get into the restore view using the following method:

    1. Open the GitHub tab (DevOps > GitHub), then click the Restore button next to the organization whose backup you want to restore.

    Adding Bitbucket organization to Xopero ONE

    This article provides instructions for adding a Bitbucket organization to Xopero ONE.

    1

    Log in to XMS, open the DevOps tab on the left side of the window, and select Bitbucket from the list.

    2

    Click the Connect button under

    Single repository recovery

    In this article, you will learn how to restore a single repository to a Git service or localhost.

    1

    Get into the restore view using the following method:

    1. Open the GitHub tab (DevOps > GitHub), then click the Restore button next to the organization whose backup you want to restore.

    Single repository recovery

    In this article, you will find information on how to restore a single repository to a Git service or localhost.

    1

    Get into the restore view using one of the following methods:

    1. Open the GitLab tab (DevOps > GitLab), then click the Manage & Restore button next to the organization whose backup you want to restore.

    Protected resources

    Overview of protected Azure DevOps and Azure DevOps Server resources, including projects, repositories, wikis, and metadata secured by backup.

    Azure DevOps protected resources define which parts of the environment Xopero ONE can access, backup, and restore.


    The following tables list all Azure DevOps and Azure DevOps Server resources covered by backup.

    ARTIFACTS
    BOARDS
    BOARD PROCESSES

    Recovering multiple repositories

    Restore multiple Bitbucket repository backup copies at once to a local device or to any Git service integrated with Xopero ONE.

    Xopero ONE enables multiple Bitbucket repositories recovery, allowing administrators to restore several repositories simultaneously within a selected organization or project scope. The process preserves Git history, branches, tags, and supported metadata, ensuring data integrity and consistency across the restored resources.


    The below steps demonstrate how to restore multiple Bitbucket repositories at once using Xopero ONE Management Service.

    1

    Get into the restore view using the following method:

    Adding GitLab (cloud) organization to Xopero ONE

    This article explains how to add a GitLab (cloud) organization to the Xopero ONE platform to protect repositories or restore existing backups.

    1

    Log in to XMS, open the DevOps tab on the left side of the window, and select GitLab from the list.

    2

    Click the Connect

    Single repository recovery

    Restore a single Bitbucket DC repository backup copy to a Git service or to localhost.

    Xopero ONE enables single repository recovery for Bitbucket DC, allowing restoration of an individual repository together with its complete Git history, branches, tags, and supported metadata. The recovery process maintains repository integrity while ensuring that other projects and repositories within the Bitbucket DC instance remain unaffected.


    The following steps demonstrate how to quickly restore a single Bitbucket DC repository using Xopero ONE Management Service.

    1

    Get into the restore view using the following method:

    GitHub App

    Learn more about GitHub Apps and their features.

    GitHub can be integrated with Xopero ONE using several authorization methods, including a GitHub App, which provides a secure and scalable way to connect GitHub organizations for backup and recovery operations. With granular permissions, repository-level access, and short-lived authentication tokens, GitHub Apps help protect repositories and related metadata while supporting automated backup workflows, repository synchronization, and streamlined management across the Xopero ONE environment.


    A GitHub App is a type of integration you can build to interact with and extend GitHub's functionality. GitHub Apps can provide flexibility and reduce friction in your processes without requiring users to sign in or create a service account.

    Like OAuth apps, GitHub Apps use OAuth 2.0 and can act on a user's behalf. Unlike OAuth apps, GitHub Apps can also act independently of a user.


    The key advantages of using the GitHub App for integration with Xopero ONE include enhanced security, better rate limit handling, and more reliable repository management.

    Recovering multiple repositories

    In this article, you will learn how to restore multiple repositories to a Git service or localhost.

    1

    Get into the restore view using the following method:

    1. Open the GitHub tab (DevOps > GitHub), then click the Restore button next to the organization whose backup you want to restore.

    Single repository recovery

    How to restore a single Bitbucket repository backup copy to a Git service or to localhost.

    Single repository recovery for Bitbucket enables restoration of an individual repository together with its complete Git history, branches, tags, and associated metadata, without impacting other projects or repositories within the workspace.


    The below steps demonstrate how to quickly restore a single Bitbucket repository using Xopero ONE Management Service.

    1

    Get into the restore view using the following method:

    Recovering multiple repositories

    In this article, you will learn how to restore multiple repositories to a Git service or localhost.

    1

    Get into the restore view using the following method:

    1. Open the GitHub tab (DevOps > GitHub), then click the Restore button next to the organization whose backup you want to restore.

    Project (classic) recovery

    This article outlines the classic projects restoration process.


    According to the official GitHub page, projects (classic) are being discontinued.

    You can only create a new project (classic) for an organization, repository, or user that already has at least one project (classic). If you are unable to create a project (classic), create a project v2 instead.

    When repositories containing projects (classic) are restored to an organization that does not support this feature, direct restoration in the original format is not possible. Instead, the system converts the restoration from projects (classic) to projects v2.

    Key considerations include:

    Select the destination device.

  • Make sure the device where you want to restore data has the Xopero ONE agent installed and the Git client added to the PATH environment variable. The PATH variable is usually configured automatically after Git installation (a system restart may be required). If it isn’t, set it manually to the path of the git.exe file: C:\Program Files\Git\bin\git.exe

    1. Select the directory where you want the data to be restored.

    1. Additionally, in the Restore settings, you can limit bandwidth usage during the recovery process.

    A. Restore to a Git organization

    If the recovery destination is Azure DevOps, the Map organizations section will be replaced by Target organization and Target project settings.

    Restoring never overwrites existing repositories in the organization — if you do not choose a repository name, or if you enter the name of a repository that already exists in your organization, the restore will fail. To complete the restoration successfully, you must choose a unique repository name or select the Add suffix to repo name option so the restored repository keeps its original name with an automatically generated suffix.

    B. Restore to a device

    To restore a repository to a local device, you must have a Git client installed on that device.

    You can restore only the repository (without metadata) when restoring data to local resources.

    Useful links and items

    Xopero ONE Agent
    Cross-recovery for DevOps organizations
    LFS recovery for DevOps organizations
    Wiki recovery for DevOps organizations
    Throttling prevention

    To configure the PATH variable, open the environment variables, select the PATH variable, and click the Edit button. Copy the path to the git.exe file and add it to the PATH variable.

    If a repository already exists in the selected folder, you can choose to overwrite the existing data.

    3

    Set your authentication method.

    1. In Authentication, select Azure DevOps.

    2. For Connect using, choose Username and Personal Access Token.

    3. Add or select PAT from the Password Manager.

    4. Choose whether Xopero should automatically add new repositories to your backup.

    4

    Configure your repository sync and default worker. Specify hours for synchronization, or set a time interval for automatic updates.

    Cloud workers cannot access local network storage. Choose a device with the necessary access if backing up locally.

    5

    Click Proceed to complete adding your Azure DevOps organization and grant Xopero ONE access to the specified resources.

    6

    Your Azure DevOps organization has now been successfully added to Xopero ONE. Click Custom policy to adjust your backup policy settings, or click Run backup to execute the backup immediately using the current policy configuration.

    Using a Personal Access Token (PAT)

    Additional browser permissions

    In the window that pops-up

    In Settings, enter the GitHub Enterprise service address and add or select a personal access token (PAT) from the Password Manager.

    4

    Choose whether Xopero ONE should automatically add new repositories to your backup.

    5

    Configure the repository synchronization and the default worker. Specify the synchronization start time or set a time interval for automatic updates.

    6

    Click Proceed to complete the process of adding your GitHub Enterprise organization and grant Xopero ONE access to the specified resources.

    7

    Your GitHub Enterprise organization has been successfully added to Xopero ONE. Click Custom policy to modify the backup policy settings, or click Run backup to start the backup immediately using the current policy configuration.

    Xopero ONE supports backup and restore for GitHub Enterprise Cloud deployments that are separated from the main GitHub environment (for example, your-org.ghe.com). You can integrate isolated GitHub Enterprise Cloud instances as GitHub Enterprise Cloud with Data Residency.

    If you already have a GitHub Enterprise organization added, click the + Add new button in the top-left corner first.

    Useful links and items

    Useful links and items
    2

    In the Backup plans section, select the appropriate backup plan, then go to the Backup copies section to choose the point in time from which you want to restore your wiki.

    3

    Select the destination for the recovery and click Next.

    You can choose any organization registered in Xopero ONE (you can find more information about cross-recovery in Useful links and items section).

    If your destination is GitHub, make sure that your repository has at least one wiki page created.

    4

    Select the Restore now button in the Restore wiki section to configure the restoration settings.

    5

    In the Restore to section, select the repository where you want to restore the wiki. If you are restoring the wiki to an Azure DevOps or Azure DevOps Server organization, also select the target project.

    6

    In the Restore settings section, you can limit the bandwidth if required by your network infrastructure and change the backup agent (default worker) that will perform the restoration.

    7

    Once all parameters are defined, click Restore to start the recovery process. You can monitor the progress in the Tasks tab; once finished, the wiki will be available in the defined organization account.

    You can choose any organization registered in Xopero ONE (you can find more information about cross-recovery in Useful links and items section).

    If your destination is GitHub, make sure that your repository has at least one wiki page created.

    Recovery process for Azure DevOps & DevOps Server

    Useful links and items

    Cross-recovery for DevOps organizations
    LFS recovery for DevOps organizations

    Adjust the bandwidth and other available settings, depending on the recovery destination.

  • Check which worker is set as the default for recovery and change it if necessary.

    1. Select the destination device (a registered device).

    2. Make sure the device where you want to restore data has the Git client added to the PATH environment variable. The PATH variable is usually configured automatically after Git installation (a system restart may be required) — if it isn’t, you will have to configure it manually.

    1. Specify the restoration directory and configure other options (for example, whether to overwrite existing data or reduce bandwidth). If needed, you can create a new restoration folder on the selected drive from the Management Service level.

    By default, the latest backup is always selected, regardless of the plan.

    You can choose any device or organization registered in Xopero ONE (you can find more information about cross-recovery in Useful links and items section).

    By default, all items are selected for restoration. However, Xopero ONE allows you to choose which metadata to restore. You can include or exclude each element by toggling the switch next to it.

    To use additional organization accounts, you must first add them in the organization settings (organization view > Edit).

    Restore to a Git organization

    If the recovery destination is Azure DevOps, the Map organizations section will be replaced by Target organization and Target project settings.

    Restoration will never overwrite existing repositories. If you enter a custom name—or leave the name as default—and a repository with that name already exists in your organization, the recovery will fail. To ensure successful recovery, either provide a unique name or select Add suffix to repo name to automatically append a unique identifier to the original repository name.

    Useful links and items

    Xopero ONE Agent
    Cross-recovery for DevOps organizations
    LFS recovery for DevOps organizations
    Wiki recovery for DevOps organizations
    Throttling prevention

    Restore to a device

    To restore a repository to a local device, you must have a Git client and the Xopero ONE agent installed on that device (you can find more information about agents in Useful links and items section).

    You can restore only the repository (without metadata) when restoring data to local resources.

    To configure the PATH variable in Windows, open the environment variables, select the PATH variable, and click the Edit button. Copy the path to the git.exe file and add it to the PATH variable.

    Adjust the bandwidth and other available settings, depending on the recovery destination.

  • Check which worker is set as the default for recovery and change it if necessary.

    1. Select the destination device (a registered device).

    2. Make sure the device where you want to restore data has the Git client added to the PATH environment variable. The PATH variable is usually configured automatically after Git installation (a system restart may be required) — if it isn’t, you will have to configure it manually.

    1. Specify the restoration directory and configure other options (for example, whether to overwrite existing data or reduce bandwidth). If needed, you can create a new restoration folder on the selected drive from the Management Service level.

    By default, the latest backup is always selected, regardless of the plan.

    You can choose any device or organization registered in Xopero ONE (you can find more information about cross-recovery in Useful links and items section).

    By default, all items are selected for restoration. However, Xopero ONE allows you to choose which metadata to restore. You can include or exclude each element by toggling the switch next to it.

    If an item cannot be restored to the selected Git platform, it will be marked with an orange dot.

    To use additional organization accounts, you must first add them in the organization settings (organization view > Edit).

    Restore to a Git organization

    If the recovery destination is Azure DevOps, the Map organizations section will be replaced by Target organization and Target project settings.

    Restoration will never overwrite existing repositories. If you enter a custom name—or leave the name as default—and a repository with that name already exists in your organization, the recovery will fail. To ensure successful recovery, either provide a unique name or select Add suffix to repo name to automatically append a unique identifier to the original repository name.

    Useful links and items

    Xopero ONE Agent
    Cross-recovery for DevOps organizations
    LFS recovery for DevOps organizations
    Wiki recovery for DevOps organizations
    Throttling prevention

    Restore to a device

    To restore a repository to a local device, you must have a Git client and the Xopero ONE agent installed on that device (you can find more information about agents in Useful links and items section).

    You can restore only the repository (without metadata) when restoring data to local resources.

    To configure the PATH variable in Windows, open the environment variables, select the PATH variable, and click the Edit button. Copy the path to the git.exe file and add it to the PATH variable.

    read:pipeline:bitbucket (variables, schedules, known hosts)
  • read:workspace:bitbucket (repositories)
  • Bitbucket API token scopes

    Xopero ONE does not support unscoped API tokens for Bitbucket integrations.

    Applying minimal privileges may cause certain metadata (such as issues) to be omitted from the backup. Furthermore, while read-only permissions are sufficient for running backups, restoring data requires write access, which will necessitate generating a new token with elevated privileges during a recovery operation. To prevent backup omissions and ensure seamless, immediate data recovery, it is strongly recommended to select all required permissions when creating an API token for Bitbucket.

    Backup permission scopes

    Restore permission scopes

    Useful links and items

    read:public_key (access keys)

  • Full backup and restore.

    Admin

    Full backup and restore.

    Write

    Full backup and restore.

    Read

    Full backup. Restore only to the user's own account.

    Member

    Admin

    Full backup. Restore only to the user's own account.

    Maintain

    Full backup. Restore only to the user's own account.

    Write

    Full backup. Restore only to the user's own account.

    Triage

    Backup excluding collaborators. Restore only to the user's own account.

    Collaborator

    Read

    Backup excluding collaborators. Restore only to the user's own account.

    Outside collaborator

    Default

    Backup excluding collaborators. Restore only to the user's own account.

    Owner

    Permissions for the GitHub App

    Permissions for personal access tokens (PAT)

    With minimal privileges, certain metadata may not be included in the backup. Select the permissions based on the specific data you need to protect.

    If you grant the token only read permissions, you can perform backups, but restoring data requires generating a new token with write permissions.

    Useful links and items

    Default

    .
    3

    In the window that pops-up, log in with a user account which has the required permissions for the repositories or projects to protect. If your GitHub login session is active in a different tab, the login will complete automatically.

    4

    Grant Xopero ONE access to the specified resources (when prompted).

    5

    Your GitHub organization has now been successfully added to Xopero ONE. Click Custom policy to adjust your backup policy settings, or click Run backup to execute the backup immediately using the current policy configuration.


    1

    Log in to XMS, open the DevOps tab on the left side of the window, and select GitHub from the list.

    2

    Click the advanced mode link under GitHub and GitHub Enterprise Server tiles.

    3

    Set your authentication method.

    1. In Authentication, select GitHub.

    2. For Connect using, choose GitHub App.

    3. Choose whether Xopero should automatically add new repositories to your backup.

    4

    Configure your repository sync and default worker. Specify hours for synchronization, or set a time interval for automatic updates.

    5

    Click Proceed to complete adding your GitHub organization and grant Xopero ONE access to the specified resources. , log in with a user account which has the required permissions for the repositories or projects to protect. If your GitHub login session is active in a different tab, the login will complete automatically.

    6

    Select repositories you want to protect and click Install & Authorize to proceed.

    7

    Your GitHub organization has now been successfully added to Xopero ONE. Click Custom policy to adjust your backup policy settings, or click Run backup to execute the backup immediately using the current policy configuration.


    1

    Log in to XMS, open the DevOps tab on the left side of the window, and select GitHub from the list.

    2

    Click the advanced mode link under GitHub and GitHub Enterprise Server tiles.

    3

    Set your authentication method.

    1. In Authentication, select GitHub.

    2. For Connect using, choose Login and Personal Access Token.

    3. Enter your username.

    4

    Configure your repository sync and default worker. Specify hours for synchronization, or set a time interval for automatic updates.

    5

    Click Proceed to complete adding your GitHub organization and grant Xopero ONE access to the specified resources.


    When adding an organization, you may be prompted to grant additional permissions to the Xopero ONE application— make sure your browser allows Xopero to open pop-up windows.

    Depending on your browser, you can either adjust the settings to allow pop-ups or permit the authorization window to open once.

    Using OAuth

    Using GitHub App

    Using Personal Access Token (PAT)

    Additional browser permissions

    Open the
    Azure DevOps
    tab (
    DevOps
    >
    Azure DevOps
    ), then click the
    Explore
    button next to the organization whose backup you want to restore (explore
    icon in list view).
  • In the Projects & repositories tab, select all projects you want to restore, and then click Restore in the top menu.

  • 2

    Click every chosen project to select the backup plan and copy from which you want to restore data, then click Next.

    By default, the latest backup is always selected, regardless of the plan.

    3

    Select the destination for the recovery and click Next.

    You can choose any device or organization registered in Xopero ONE (you can find more information about cross-recovery in Useful links and items section).

    4

    In Data to restore section at the top, click Edit and select data you want to restore.

    By default, all items are selected for restoration. However, Xopero ONE allows you to choose which metadata to restore. You can include or exclude each element by toggling the switch next to it.

    5

    In the Throttling prevention section, you can add additional DevOps organization accounts to avoid throttling.

    To use additional organization accounts, you must first add them in the organization settings (organization view > Edit).

    6

    Configure the recovery destination settings, depending on where the backup will be restored.

    Restore to a Git organization

    1. Select the target organization (where applicable).

    2. In Restore settings, you can set custom names for all projects and repositories in the project, or add a suffix to their original names.

    If the custom name—or the original project and repository names—already exists within the selected Git organization, the restoration will fail. To ensure successful recovery, choose unique names or select the Add suffix to repo/project name option, so the restored items to retain their original names with an automatically generated suffix.

    1. If you are restoring your project to the Azure DevOps or DevOps Server organization:

      1. Choose whether to restore repositories from the project's copy:

        1. When the Restore only repositories located in this project backup switch is turned off during the restore process, along with the project, all of its protected repositories are restored, regardless of whether the repositories were protected by the same plan or by different plans. The latest available backups are used.

        2. When the switch is turned on, a different restore mechanism is applied. In this case, only repositories backed up by the same plan as the project are restored.

    1. Adjust the bandwidth and other available settings, depending on the recovery destination.

    2. Check which agent is set as the default for recovery and change it if necessary.

    1. Select the destination device (a registered device).

    2. Make sure the device where you want to restore data has the Git client added to the PATH environment variable. The PATH variable is usually configured automatically after Git installation (a system restart may be required) — if it isn’t, you will have to configure it manually.

    1. Specify the restoration directory and configure other options (for example, whether to overwrite existing data or reduce bandwidth). If needed, you can create a new restoration folder on the selected drive from the Management Service level.

    7

    After defining all parameters, click the Restore button to begin the recovery process. When the process is complete, a new project/repository/folder will be created in your organization/on your device. You can monitor the restoration process in the Tasks tab.


    Recovery process

    Deleted artifacts cannot be restored while they remain in the recycle bin — they can be restored, but you must remove them from the recycle bin first.

    Azure does not allow restoring deleted packages to the same feed. Once a package is deleted, it must remain deleted. Restoring to a new feed does not have this limitation, so all packages should be restored there.

    Useful links and items

    Xopero ONE Agent
    Cross-recovery for DevOps organizations
    LFS recovery for DevOps organizations
    Wiki recovery for DevOps organizations
    Throttling prevention
    Open the Azure DevOps tab (DevOps > Azure DevOps), then click the Explore button next to the organization whose backup you want to restore (explore icon in list view).
  • Go to the Repositories tab and search for the repository you want to restore, then click the restore icon in the action menu of that repository.

  • 2

    Select the backup plan from which you want to restore data. Click the drop-down under Backup plans section and choose one of the plans from the list.

    3

    Choose the backup version from all the backups that have already been performed — select the desired date and click the Restore button.

    4

    Select the data available to restore and click Restore selected or Restore all to proceed.

    5

    Select the destination for the recovery and click Next.

    You can choose any device or organization registered in Xopero ONE (you can find more information about cross-recovery in Useful links and items section).

    6

    In the Data to restore section at the top, you can select which of the previously chosen available data you want to restore.

    7

    In the Restore to section, you can change the previously selected recovery destination if needed.

    8

    In the Throttling prevention section, you can add additional DevOps organization accounts to avoid throttling.

    To use additional organization accounts, you must first add them in the organization settings (organization view > Edit).

    9

    Configure the recovery destination settings, depending on where the backup will be restored.

    Restore to a Git organization

    1. In Map organizations section, select the target organization to which the repository will be restored.

    If the recovery destination is Azure DevOps, the Map organizations section will be replaced by Target organization and Target project settings.

    1. In Restore settings, you can set a unique, custom name for the repository (or use the custom name automatically generated by Xopero ONE).

    Restoring never overwrites existing repositories in the organization — if you do not set a new name for the restored repository, it keeps its original name with an automatically generated suffix.

    When you set a custom name for the repository, and a repository with that name already exists in the specified organization, the recovery will fail.

    1. If you are restoring your repository to a different Git organization than the original (for example, GitHub), in addition to setting a custom name, you can choose whether to add a label to the restored elements (where applicable).

    2. Check which agent is set as the default for recovery and change it if necessary.

    3. If needed, you can also adjust the bandwidth.

    1. Select the destination device (a registered device).

    2. Make sure the device where you want to restore data has the Git client added to the PATH environment variable. The PATH variable is usually configured automatically after Git installation (a system restart may be required) — if it isn’t, you will have to configure it manually.

    1. Specify the restoration directory and configure other options (for example, whether to overwrite existing data or reduce bandwidth). If needed, you can create a new restoration folder on the selected drive from the Management Service level.

    10

    After defining all parameters, click the Restore button to begin the recovery process. When the process is complete, a new repository/folder will be created in your organization/on your device. You can monitor the restoration process in the Tasks tab.


    Recovery process

    Useful links and items

    Xopero ONE Agent
    Cross-recovery for DevOps organizations
    LFS recovery for DevOps organizations
    Wiki recovery for DevOps organizations
    Throttling prevention
    Search for the repository you want to restore, and click the Restore button in the action menu of that repository.
    2

    Next, select the backup plan from which you want to restore data. Click View available plans and choose one of the plans from the list.

    3

    Choose the backup version from all the backups that have already been performed — select the desired date and click the Restore button.

    Xopero ONE allows you to select specific metadata to restore — each element can be included or excluded by toggling the switch next to it. Additionally, there is a Wiki recovery option below these settings. If your repository already exists in GitHub, you can choose to restore only the Wiki.

    4

    Select the destination for the restore process. You can choose one of the assigned organizations from any Git service or any device. After selecting the repository and the metadata you want to include, click the Restore selected or Restore all button to proceed.

    5

    In the next aside, click Edit next to Data to restore if you need to adjust it.

    6

    Next, select the destination where you want to restore the data.

    Support for backing up projects (classic) has been removed. It is now available only for restoring previously backed-up projects (classic) — when restored, projects (classic) are automatically converted into projects v2.

    A. Restore to a Git organization