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...

DevOps

General

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

Cover
Repository selection methods

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

Cover
Repository selection rules

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

Cover
Cross-recovery for DevOps organizations

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

Cover
LFS recovery for DevOps organizations

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

Cover
Wiki recovery for DevOps organizations

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

Cover
General
Cover
Azure DevOps & DevOps Server
Cover
Bitbucket
Cover
Bitbucket Data Center
Cover
GitHub
Cover
GitHub Enterprise
Cover
GitLab

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.

Azure DevOps & DevOps Server

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.


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.


Integration

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.

Backup

Recovery

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

Bitbucket

Integration

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 .

Recovery

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

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.

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
official Bitbucket documentation
Cover
Required permissions
Cover
API limits
Cover
Adding Azure DevOps organization to Xopero ONE
Cover
Adding Azure DevOps Server to Xopero ONE
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 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
Integration
Cover
Backup
Cover
Recovery
Cover
Required permissions
Cover
API limits
Cover
Adding Bitbucket 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 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.

Integration
Backup
Recovery
Cover
Cover
Cover

Restoring LFS metadata

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

Useful links and items

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

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.


Selection rules and rule patterns

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.

Azure DevOps & Bitbucket

  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. 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

  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


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??


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.

Adding Azure DevOps Server to Xopero ONE

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

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.

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 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).

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 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.

Process overview

Learn more about the backup process for Azure DevOps.

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

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.


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 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:

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.


Adding Azure DevOps organization to Xopero ONE

This article explains how to add an Azure DevOps 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

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.

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.

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

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

    Pattern:
    yourorganization/.*data.*
    • Matches any repository name containing the word data.

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

    • Excludes any repository name that contains the word data.

  • GitHub

    GitLab

    Selection rule examples

    Regular expression patterns (regex)

    Adding multiple storage instances

    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
    Add or select PAT from the Password Manager.
  • Choose whether Xopero should automatically add new repositories to your backup.

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

    Click the
    Connect
    button under
    Azure DevOps
    .
    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 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.

    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

    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 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.


    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 an Azure DevOps organization to Xopero ONE connects your environment to the platform, enabling secure backup of projects, repositories, and related data.

    Using OAuth

    Using a Personal Access Token (PAT)

    Additional browser permissions

    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.


    Recovery process

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

    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.

    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. 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.

    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. 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.

    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.


    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.


    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.


    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

    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:

    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.


    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:

    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

    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:

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

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

    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 repositories from this project's copy 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.

    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 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.

    Useful links and items

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

    Due to required changes, the latter mechanism is not available for backups created with Xopero ONE versions earlier than 2.0.5 or for agents running versions lower than 2.0.5.

    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

    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

    *The restored comment is attributed to the account performing the restore; content includes the original comment author information and the original creation date.

    **Assignee and identity-type fields are not restored directly; instead, a comment is added identifying the original assignee and related values.

    ***A work item type consists of a name, description, color, icon, enabled/disabled status, and its internal configuration (layout and states).

    PIPELINES
    PROJECT

    *Configuration and definitions are restored; logs, run history, and artifacts are not. Only YAML pipelines that use Azure Repos are supported.

    **Secret variables are not backed up due to an API limitation.

    PULL REQUESTS
    REPOSITORY
    TEST PLANS

    *Included in backup, but can be restored only to GitHub and GitLab.

    **Test run history is backed up and restored. The run state (for example, in progress or needs investigation) is restored in a separate step after the run is created.

    ***Automated test settings (associated pipelines) are not restored due to current pipeline restore limitations.

    Backup coverage

    The list is presented in alphabetical order.

    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
    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, 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.

    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. In Map organizations section, select the target organizations where the repositories 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 custom names for all repositories or add a suffix to the original repository names.

    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.

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

    2. 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.

    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

    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 Bitbucket tab (DevOps > Bitbucket), then click the Explore button next to the organization whose backup you want to restore (explore icon in list view).
  • 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.

    Xopero ONE allows you to select specific metadata to restore — each element can be included or excluded 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.

    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 and whether to enable pipelines (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
    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).
  • 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.

    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.

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

    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. In Map organizations section, select the target organizations where the repositories 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 custom names for all repositories or add a suffix to the original repository names.

    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.

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

    2. 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.

    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

    Useful links and items

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

    Single project recovery

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

    Xopero ONE enables single project recovery for Azure DevOps, allowing organizations to restore individual projects along with their selected metadata, ensuring data integrity and consistency while minimizing disruption to other projects and repositories.


    Recovery process

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

    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.

    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. In the Projects & repositories tab, search for the project you want to restore, then click the restore icon in the action menu of that project.

    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 destination for the recovery and click Next.

    5

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

    6

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

    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.

    9

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

    1. Select the target organization (where applicable).

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

    10

    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.


    Required permissions

    Full list of permissions required for integrating Azure DevOps and Azure DevOps Server with Xopero ONE.


    The account used for integration must have an appropriate access level assigned within Azure DevOps:

    • Basic.

    • Visual Studio Subscriber — professional or enterprise tier.

    Protected resources

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

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


    The following list includes all Bitbucket resources covered by backup.

    Packages
  • Pages

  • Description
  • Commit Messages
  • Test Points (state & outcome)
  • 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.

    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.

    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.

    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.

    Set a unique, custom name for the project in Restore settings (or use the custom name automatically generated by Xopero ONE).
  • Choose whether to restore repositories from the project's copy:

    1. When the Restore repositories from this project's copy switch is turned off during the restore process, all of project's 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. If you are restoring your project to a different Git organization than the original (for example, GitHub), you can set custom names for all repositories in the project or add a suffix to the original repository names. You can also choose whether to add a label to the restored elements (where applicable).

    1. Adjust the bandwidth settings.

    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.

    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).

    Xopero ONE allows you to select specific metadata to restore — each element can be included or excluded by toggling the switch next to it.

    The available data to restore depends on the restoration destination.

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

    Restore to a Git organization

    Useful links and items

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

    Due to required changes, the latter mechanism is not available for backups created with Xopero ONE versions earlier than 2.0.5 or for agents running versions lower than 2.0.5.

    If the custom name or the original repository name already exists in the selected Git organization, the restore will fail. To complete the restoration successfully, you must choose unique repository names or select the Add suffix to repo name option so the restored repositories keep their original names with an automatically generated suffix.

    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.

    GitHub Enterprise
    — similar to basic.
  • Stakeholder (not recommended) — this level has limited access and cannot properly protect repositories.

  • To integrate Azure DevOps with Xopero ONE using OAuth, make sure the account has an administrator role. Otherwise, you may encounter permission errors or find that the approval button is inactive.

    When integrating Azure DevOps via OAuth, the following scopes are required:

    The ability to authorize the Xopero ONE OAuth application depends on your organization's User consent settings within Azure DevOps. The following options are available:

    Consent policy
    Authorization requirement

    Allow user consent for apps from verified publishers, for selected permissions

    Any user can authorize the app, provided that all requested permissions are classified as low impact by your administrator.

    Do not allow user consent

    Only users with the Application Administrator or Global Administrator role can authorize the integration.

    Let Microsoft manage your consent settings (Recommended)

    To ensure both backup and restore operations succeed, the following permissions are required:

    1. Organization level:

      1. General:

        1. Create new projects (restore)

      2. Boards:

        1. Create process (restore)

        2. Edit process (restore)

    2. Project level:

      1. General:

        1. View project-level information (backup)

    3. Repositories level:

      1. Create branch (restore)

      2. Create repository (restore)

      3. Read (backup)


    For on-premise installations, use the personal access token (PAT) method.

    Required permissions for Azure DevOps and Azure DevOps Server specify the access levels Xopero ONE needs to securely back up and restore your data.

    Permissions for Azure DevOps

    User access levels

    Xopero ONE can only protect projects that the integrated user account has explicit access to.

    OAuth integration

    Xopero supports only organizational accounts (Microsoft Entra ID) — personal accounts are not supported. For private accounts, use PAT instead.

    Installation permissions for OAuth

    Personal Access Token (PAT) integration

    Prerequisites:

    Required scopes:

    When performing a backup with minimal permissions, some metadata might be excluded. To ensure complete protection, select the permissions based on your data protection needs. Note that with read-only permissions, backups can be made, but restoring requires a new token or password with write access.

    Granular permission settings

    Permissions for Azure DevOps Server

    Personal Access Token (PAT) integration

    Prerequisites:

    Required scopes:

    When performing a backup with minimal permissions, some metadata might be excluded. To ensure complete protection, select the permissions based on your data protection needs. Note that with read-only permissions, backups can be made, but restoring requires a new token or password with write access.

    Backup coverage

    The list is presented in alphabetical order.

    ACCESS KEYS
    BRANCHING MODEL
    BRANCH RESTRICTIONS
    DOWNLOADS
    ISSUES
    PIPELINES
    PULL REQUESTS
    REPOSITORY
    WEBHOOKS
    Minimum number of approvals
  • Everyone with access to the repository has write access
  • Authorization is subject to Microsoft's current security guidelines. While this currently allows for Xopero ONE integration, availability may change based on Microsoft's evolving policies.

    Mozilla pop-up allowance
    Git Large File Storage billing - GitHub DocsGitHub Docs
    Logo

    GitHub

    Integration
    Backup
    Recovery
    Cover
    Cover
    Cover

    Integration

    Required permissions
    Rate limits
    Adding GitLab (cloud) organization to Xopero ONE
    Adding GitLab (self-managed) organization to Xopero ONE
    Cover
    Cover
    Cover
    Cover

    Adding a Bitbucket DC instance to Xopero ONE

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

    Using username and password

    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.

    3

    Set your authentication method.

    1. In Authentication, select Bitbucket DC.

    2. Enter the Bitbucket DC server IP address and 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 Bitbucket DC organization and grant Xopero ONE access to the specified resources.


    Recovery

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

    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.

    Useful links and items

    Cross-recovery for DevOps organizations

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

    Xopero ONE enables cross-recovery across DevOps ecosystems by letting organizations restore repositories and associated metadata between different hosting providers such as GitHub, GitLab, Bitbucket and Azure DevOps. Recovered content covers repositories and many forms of metadata, including pull requests, wikis, issues and other repository artifacts where supported by the source and target platforms.


    The following tables outline which resources and metadata can be cross-restored between platforms.


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

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

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

    Cross-recovery for DevOps organizations
    Single repository recovery
    Recovering multiple repositories
    Cover
    Cover
    Cover

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

    Available resources

    For a complete list of protected resources and metadata, refer to the Protected resources article for the relevant DevOps platform.

    Different vendors provide various types of metadata, which may not be common to all providers. As a result, during the restore process, some metadata might not be available for restoration.

    In the tables below, the term GitLab refers collectively to both GitLab self-managed and GitLab SaaS environments. Similarly, the term Azure DevOps refers collectively to both Azure DevOps Server and SaaS environments.

    The list is presented in alphabetical order.

    ADDITIONAL DATA

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    BRANCHES

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    COMMIT COMMENTS

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    COMMITS

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    DEPLOYMENT KEYS

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    GITHUB PROJECTS (CLASSIC)

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    ISSUE COMMENTS

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    ISSUES (CLOSED)

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    ISSUES (OPEN)

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    LABELS

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    LFS

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    MILESTONES

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    PULL REQUEST COMMENTS

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    PULL REQUESTS (CLOSED)

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    PULL REQUESTS (OPEN)

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    RELEASE ASSETS

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    RELEASES

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    REPOSITORY

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    TAG

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    WIKI

    TO →

    ↓ FROM

    Azure DevOps

    Bitbucket

    Bitbucket DC

    GitHub

    Useful links and items

    ADDITIONAL DATA
    BRANCHES
    COMMIT COMMENTS
    COMMITS
    DEPLOYMENT KEYS
    GITHUB PROJECTS (CLASSIC)
    ISSUE COMMENTS
    ISSUES (CLOSED)
    ISSUES (OPEN)
    LABELS
    LFS
    MILESTONES
    PULL REQUEST COMMENTS
    PULL REQUESTS (CLOSED)
    PULL REQUESTS (OPEN)
    RELEASE ASSETS
    RELEASES
    REPOSITORY
    TAG
    WIKI
    LFS recovery for DevOps organizations
    Wiki recovery for DevOps organizations
    Manage large files with Git Large File Storage (LFS) | Bitbucket Cloud | Atlassian SupportAtlassian Support
    Storage policy for Git LFS with Bitbucket | Bitbucket Cloud | Atlassian SupportAtlassian Support
    Manage and Store Large Files in Git - Azure ReposMicrosoftLearn

    GitHub Enterprise

    GitLab

    GitHub

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    Azure DevOps

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    Bitbucket

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    Bitbucket DC

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub Enterprise

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitLab

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    GitHub

    ❌

    ❌

    ❌

    ✅

    ✅

    ❌

    GitHub Enterprise

    ❌

    ❌

    ❌

    ✅

    ✅

    ❌

    GitHub Enterprise

    GitLab

    Azure DevOps

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    Bitbucket

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    Bitbucket DC

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub Enterprise

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitLab

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    Bitbucket

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitLab

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    GitHub

    ❌

    ❌

    ❌

    ✅

    ✅

    ❌

    GitHub Enterprise

    GitLab

    Bitbucket

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitLab

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    Bitbucket

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub

    ❌

    ❌

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    ❌

    ❌

    ❌

    ✅

    ✅

    ✅

    GitLab

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    Bitbucket

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitLab

    ❌

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    Azure DevOps

    ✅

    ❌

    ❌

    ✅

    ✅

    ✅

    GitHub

    ✅

    ❌

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    ❌

    ❌

    ❌

    ✅

    ✅

    ✅

    GitLab

    ✅

    ❌

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    Azure DevOps

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    Bitbucket

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    Bitbucket DC

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub Enterprise

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitLab

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    GitHub

    ❌

    ❌

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    ❌

    ❌

    ❌

    ✅

    ✅

    ✅

    GitLab

    ❌

    ❌

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    Azure DevOps

    ✅

    ✅

    ❌

    ✅

    ✅

    ✅

    Bitbucket

    ✅

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub

    ✅

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    ✅

    ✅

    ❌

    ✅

    ✅

    ✅

    GitLab

    ✅

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    Azure DevOps

    ❌

    ❌

    ❌

    ✅

    ✅

    ✅

    GitHub

    ❌

    ❌

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    ❌

    ❌

    ❌

    ✅

    ✅

    ✅

    GitLab

    ❌

    ❌

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    Azure DevOps

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    Bitbucket

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    Bitbucket DC

    ❌

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub Enterprise

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitLab

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    GitHub

    ❌

    ❌

    ❌

    ✅

    ✅

    ❌

    GitHub Enterprise

    ❌

    ❌

    ❌

    ✅

    ✅

    ❌

    GitHub Enterprise

    GitLab

    GitHub

    ❌

    ❌

    ❌

    ✅

    ✅

    ❌

    GitHub Enterprise

    ❌

    ❌

    ❌

    ✅

    ✅

    ❌

    GitLab

    ❌

    ❌

    ❌

    ❌

    ✅

    ✅

    GitHub Enterprise

    GitLab

    Azure DevOps

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    Bitbucket

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    Bitbucket DC

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub Enterprise

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitLab

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    Azure DevOps

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    Bitbucket

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    Bitbucket DC

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub Enterprise

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitLab

    ✅

    ✅

    ✅

    ✅

    ✅

    ✅

    GitHub Enterprise

    GitLab

    Azure DevOps

    ✅

    ✅

    ❌

    ✅

    ✅

    ✅

    Bitbucket

    ✅

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub

    ✅

    ✅

    ❌

    ✅

    ✅

    ✅

    GitHub Enterprise

    ✅

    ✅

    ❌

    ✅

    ✅

    ✅

    GitLab

    ✅

    ✅

    ❌

    ✅

    ✅

    ✅

    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.

    Bitbucket Data Center

    Backup

    Recovery

    API tokens | Bitbucket Cloud | Atlassian SupportAtlassian Support

    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.

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

    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.

    Backup

    Backup

    Recovery

    Creating a backup plan

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

    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.

    Creating a backup plan

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

    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.

    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.


    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:

    Creating a backup plan for a group

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

    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.

    Required permissions

    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.

    Creating a backup plan

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

    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.

    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 .

    Recovery

    Integration

    Logo
    the official GitLab documentation
    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
    Required permissions
    Cover
    GitHub App
    Cover
    Adding GitHub organization to Xopero ONE
    Integration
    Backup
    Recovery
    Cover
    Cover
    Cover
    Process overview
    Protected resources
    API rate limits
    Creating a backup plan
    Cover
    Cover
    Cover
    Cover
    Cross-recovery for DevOps organizations
    Project (classic) recovery
    Single repository recovery
    Recovering multiple repositories
    Wiki recovery for DevOps organizations
    Recovering teams
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Protected resources
    Creating a backup plan
    Creating a backup plan for a group
    Cover
    Cover
    Cover
    Protected resources
    Creating a backup plan
    Cover
    Cover
    Cross-recovery for DevOps organizations
    Single repository recovery
    Recovering multiple repositories
    Wiki recovery for DevOps organizations
    Recovering groups
    Cover
    Cover
    Cover
    Cover
    Cover
    3

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

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

    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.

    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.

    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.


    Backup plan setup

    Useful links and items

    Cloud storage
    Xopero ONE worker
    Scheduler & retention
    3

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

    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.

    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.

    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.

    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.


    Backup plan setup

    Useful links and items

    Cloud storage
    Xopero ONE worker
    Scheduler & retention
    Repositories: access to both public and private repositories.

  • 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.


    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.

    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

    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.

    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.

    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.


    Backup plan setup

    Useful links and items

    Cloud storage
    Xopero ONE worker
    Scheduler & retention
  • 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.

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

    Account

    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 .

    3

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

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

    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.

    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.

    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.


    Backup plan setup

    Useful links and items

    Cloud storage
    Xopero ONE worker
    Scheduler & retention

    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

    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.

    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.

    Integration

    Process overview

    Learn more about the backup process for GitHub.

    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.


    Incremental and differential backups help save storage space. In

    Logo
    the official GitLab website

    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.

    Required permissions
    Adding a Bitbucket DC instance to Xopero ONE
    Cover
    Cover
    Cover
    Logo
    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:

    General information

    Backup type

    Adding multiple storage instances

    Logo

    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
    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.

  • 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.

    Using OAuth

    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.

    3

    , log in with a user account which has the required permissions for the repositories or projects to protect. If your GitLab 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 GitLab 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 GitLab from the list.

    2

    Click the advanced mode link under GitLab and GitLab Self-managed tiles.


    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 advanced mode link under GitLab and GitLab Self-managed 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.

    Recovering teams

    Learn about recovering GitHub teams in Xopero ONE.

    Overview

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

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

    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.


    Limitations

    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.


    Useful links and items

    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.


    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.


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

    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:

    GitLab

    Cover
    Integration
    Cover
    Backup
    Cover
    Recovery
    3

    Set your authentication method.

    1. In Authentication, select GitLab.

    2. For Connect using, choose OAuth App.

    3. Choose whether Xopero should automatically add new repositories to your backup and whether it should include GitLab groups in the backup.

    4

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

    5

    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 GitLab login session is active in a different tab, the login will complete automatically.

    6

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

    7

    Your GitLab 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.

    3

    Set your authentication method.

    1. In Authentication, select GitLab.

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

    3. Enter your username or email.

    4. Add or select PAT from the Password Manager.

    5. Choose whether Xopero should automatically add new repositories to your backup and whether it should include GitLab groups in the 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 GitLab organization and grant Xopero ONE access to the specified resources.

    Using OAuth (Advanced Mode)

    Using Personal Access Token (PAT)

    Additional browser permissions

    In the window that pops-up
  • *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:


    Account permissions

    GITHUB ROLES AND PERMISSIONS
    Organization role
    Repository role
    Capabilities

    Owner

    Permissions for the OAuth app

    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

    The conversion retains elements such as the project name, issue cards, and pull request cards.

  • Certain metadata, such as columns or notes, cannot be restored due to GitHub API limitations.

  • The system flags these conversions in the restoration summary for transparency.


  • GitHub projects (classic) are older project types that were used to create customized workflows (like tracking and prioritizing specific feature work, comprehensive roadmaps, or even release checklists) before projects v2 were introduced.

    General information

    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.

    Data that cannot be converted remains in the backup copy. Future updates to the GitHub API may enable improved restoration capabilities, allowing additional metadata to be recovered.

    Useful links and items

    Single repository recovery

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

    Recovery process

    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.

    You can also use the Explore button to restore your data.

    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 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.

    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.

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

    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.

    You can enter a new repository name in one of the following formats:

    7

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

    8

    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.


    Extensive testing and analysis have shown that restoring repositories with many issues and pull requests significantly prolongs the restoration process. This delay is caused by limitations within GitHub’s infrastructure and the API used for repository restoration.

    To speed up the repository access, it is recommended to exclude issues and pull requests during the initial restore. Once the repository is restored, you can perform a subsequent restore—including issues and pull requests—under a different repository name. This approach ensures quick access while still allowing full restoration of repository content.


    Adding Bitbucket organization to Xopero ONE

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

    Using OAuth

    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.

    3

    A pop-up with Bitbucket login page will appear. Log in using your admin credentials and grant Xopero ONE access to the specified resources (when prompted).

    4

    Your Bitbucket 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 Bitbucket from the list.

    2

    Click the advanced mode link under Bitbucket and Bitbucket DC tiles.


    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 advanced mode link under Bitbucket and Bitbucket DC 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.


    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.


    Protected resources

    In this article, you will get information about all protected resources, elements and metadata in GitHub Enterprise.


    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.

    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
    If you enter organization/name (e.g., xsupport/test), the repository will be restored with the chosen name in the specified organization. If the entered organization does not exist, the repository will be restored to the source organization.
  • If you enter only the repository name (e.g., test) and the source organization is registered in Xopero ONE, the repository will be restored there. If the organization is not registered, the repository will be restored to your account.

    1. Select the destination device.

    2. 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.

    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.

    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

    During restoration to GitHub, the Use existing projects instead of creating new ones option becomes available. When restoring projects v2, this option restores the data into the existing projects rather than creating new ones.

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

    Closed or merged pull requests are recovered as closed issues.

    Restoration time

    Useful links and items

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

    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.

    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 Bitbucket.

    2. For Connect using, choose OAuth App.

    3. In the Settings section, choose whether to enable read-only mode and whether Xopero should automatically add new repositories to your backup.

    If the Read-Only Access switch is enabled, the recovery options will be disabled.

    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 organization and grant Xopero ONE access to the specified resources (when prompted).

    3

    Set your authentication method.

    1. In Authentication, select Bitbucket.

    2. For Connect using, choose Username and App password.

    3. Enter your Bitbucket email address.

    4. Add or select App Password that contains your API token from the Password Manager.

    5. 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 Bitbucket organization and grant Xopero ONE access to the specified resources.

    Using OAuth (Advanced Mode)

    Using an API token

    Additional browser permissions

    Useful links and items

    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 Enterprise, 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

    During restoration to GitHub, the Use existing projects instead of creating new ones option becomes available. When restoring projects v2, this option restores the data into the existing projects rather than creating new ones.

    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.

    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.

    You can enter a new repository name in one of the following formats:

    1. If you enter organization/name (e.g., xsupport/test), the repository will be restored with the chosen name in the specified organization. If the entered organization does not exist, the repository will be restored to the source organization.

    2. If you enter only the repository name (e.g., test) and the source organization is registered in Xopero ONE, the repository will be restored there. If the organization is not registered, the repository will be restored to your account.

    1. Select the destination device.

    2. 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.

    7

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

    8

    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.


    Recovery process

    You can also use the Explore button to restore your data.

    Useful links and items

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

    Default

    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.

    GitHub protected resources define which repositories and data Xopero ONE can access, secure, and restore.

    Protected 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.

    Protected metadata for projects (classic) include cards, issues assigned to cards, pull requests assigned to cards, columns, and notes.

    ACTIONS AND PIPELINES
    BRANCH PROTECTION RULES
    COLLABORATORS
    DEPENDABOT
    ISSUES
    LABELS
    MILESTONES
    PROJECTS (V2)
    PULL REQUESTS
    REPOSITORY
    TEAMS
    RELEASES

    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.


    Recovery process

    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:

    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. 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.

    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.

    9

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

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

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

    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.


    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 GitHub tab (DevOps > GitHub), then click the Restore button next to the organization whose backup you want to restore.

    You can also use the Explore button to restore your data.

    1. 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

    In the Data to restore section, you can use the switch to include or exclude 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.


    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.


    Single repository recovery

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

    Recovery process

    1

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

    Method 1:

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

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

    1. Open the Storages tab, and click the browse storage button in the storage action menu.

    1. Click the Device section — you will then see all repositories that have been backed up and sent to the selected storage. Select one of the available repositories to proceed.

    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.

    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.

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

    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.

    You can enter a new repository name in one of the following formats:

    7

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

    8

    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.


    Automatically Delete Head Branches
  • 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 and whether to enable pipelines (where applicable).

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

  • 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.

    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).

    Xopero ONE allows you to select specific metadata to restore — each element can be included or excluded 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.

    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.

    Useful links and items

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

    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.

    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

    During restoration to GitHub, the Use existing projects instead of creating new ones option becomes available. When restoring projects v2, this option restores the data into the existing projects rather than creating new ones.

    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

    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
    If you enter organization/name (e.g., xsupport/test), the repository will be restored with the chosen name in the specified organization. If the entered organization does not exist, the repository will be restored to the source organization.
  • If you enter only the repository name (e.g., test) and the source organization is registered in Xopero ONE, the repository will be restored there. If the organization is not registered, the repository will be restored to your account.

    1. Select the destination device.

    2. 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.

    Method 2:

    By default, the system restores the entire repository (all files, source code, etc.), while repository metadata is optional. Xopero ONE allows you to restore only selected metadata— each element can be included or excluded by toggling the switch next to it.

    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.

    Useful links and items

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

    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.

    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.

    Protected resources

    Overview of protected GitHub resources, including repositories, wikis, and metadata secured by backup.

    GitHub protected resources define which repositories and data Xopero ONE can access, secure, and restore.


    The following list includes all GitHub resources covered by backup.

    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.

    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.

    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.

    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.

    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.

    Backup coverage

    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 to projects v2. Protected metadata for projects (classic) includes cards, issues assigned to cards, pull requests assigned to cards, columns, and notes.

    The list is presented in alphabetical order.

    ACTIONS AND PIPELINES
    BRANCH PROTECTION RULES
    COLLABORATORS
    DEPENDABOT
    ISSUES
    LABELS
    MILESTONES
    PROJECTS (V2)
    PULL REQUESTS
    REPOSITORY
    TEAMS
    RELEASES
    Users and groups | Bitbucket Data Center 10.4 | Atlassian Documentationconfluence.atlassian.com
    HTTP access tokens | Bitbucket Data Center 10.4 | Atlassian Documentationconfluence.atlassian.com
    Automatically delete head branches
  • Mozilla pop-up allowance
    Mozilla pop-up allowance

    Protected resources

    This article provides information about protected resources, elements, and metadata in GitLab cloud and GitLab self-managed.

    GitLab Protected Data

    ANALYZE
    BUILD
    DEPLOY
    ISSUE BOARDS
    ISSUES
    LABELS
    MILESTONES
    MONITOR
    OPERATE
    PROJECT SETTINGS
    PULL REQUESTS
    REPOSITORY
    REQUIREMENTS
    SNIPPETS

    GitLab Groups Protected Data

    ANALYZE
    LABELS
    MEMBERS
    MILESTONES
    POLICIES
    PUSH RULES
    SETTINGS
    VARIABLES
    WEBHOOKS
    WIKI

    {*} — restored as comments in format: [{creation date}] {user name}: {content}; the author of these restored comments will always be the account performing the restore task, not the original commenter.

    GitHub Enterprise

    REST API endpoints for collaborators - GitHub DocsGitHub Docs
    Managing your personal access tokens - GitHub Enterprise Server 3.4 DocsGitHub Docs
    Managing your personal access tokens - GitHub DocsGitHub Docs
    Managing your personal access tokens - GitHub DocsGitHub Docs
    Managing your personal access tokens - GitHub DocsGitHub Docs
    Integration
    Backup
    Recovery
    Cover
    Cover
    Cover

    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.


    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

    Backup

    Protected resources
    Creating a backup plan
    Cover
    Cover
    Logo
    Logo
    Logo
    Logo
    Logo
    Logo
    Authorizing a personal access token for use with single sign-on - GitHub Enterprise Cloud DocsGitHub Docs
    About projects (classic) - GitHub Enterprise Server 3.15 DocsGitHub Docs
    Create an API token | Bitbucket Cloud | Atlassian SupportAtlassian Support

    Integration

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

    Logo

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

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

    Required permissions
    Adding GitHub Enterprise organization to Xopero ONE
    Cover
    Cover
    Logo
    Logo

    Adding GitHub organization to Xopero ONE

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

    Using OAuth

    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.

    3

    , 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.


    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.


    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.

    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. 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.

    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.

    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. Add or select PAT from the Password Manager.

    5. 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.

    Using GitHub App

    Using Personal Access Token (PAT)

    Additional browser permissions

    In the window that pops-up

    If the PAT does not exist, you need to add it. The PAT should be pasted into the password field.

    Logo
    Mozilla pop-up allowance

    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.


    General information

    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 Xopero ONE GitHub App is called GitProtect.


    Advantages

    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.

    Security

    GitHub Apps provide enhanced control and security compared to OAuth apps. Instead of broad scopes, GitHub Apps use fine-grained permissions, giving administrators better control over what the app can access and perform:

    • Granular permissions — GitHub Apps request only the permissions they need, unlike OAuth apps, which rely on broader permission scopes.

    • Repository-specific access — users or organization owners can choose which repositories an app can access, whereas OAuth apps can access all repositories available to the authorizing user.

    • Short-lived tokens — GitHub Apps use tokens that expire quickly, reducing the risk of misuse. In contrast, OAuth app tokens remain valid until explicitly revoked.

    These features make GitHub Apps more suitable for organizations with strict security requirements, offering stronger protection against potential security risks.

    GitHub Apps that use installation access tokens are initially allowed 5,000 requests per hour. This limit can increase under specific conditions:

    • GitHub Enterprise Cloud organizations — installations associated with a GitHub Enterprise Cloud organization have a rate limit of 15,000 requests per hour.

    • Scaling by repositories and users — for installations that are not part of a GitHub Enterprise Cloud organization:

      • Organizations with more than 20 repositories receive an additional 50 requests per hour per repository.

    The above rules are designed to ensure fair usage while maintaining system stability and security.


    GitHub Apps can be installed by users on their personal accounts and by organization owners within organizations they own. Additionally, repository admins within an organization can install GitHub Apps, provided the app is limited to repositories they administer and does not request permissions that affect the organization or involve repository administration.

    However, organization owners have the capability to restrict these installations by outside collaborators who are repository admins. If organization members who are neither owners nor admins choose an organization during the app installation process, instead of directly installing the app, GitHub will notify the organization owner to request installation approval.


    After installing a GitHub App, you may also need to authorize it. Installation lets you specify which repositories the app can access and grants it permission to use certain organizational resources.

    During installation, the app displays the for review and approval. Once authorized, the app can also operate on your behalf.


    Throttling limits the number of API calls or operations within a given time window to prevent resource overuse and ensure server stability. If throttling limits are exceeded, further client requests may be temporarily restricted, which can extend backup times.

    Xopero ONE can use up to 10 additional apps to increase request limit and reduce throttling impact.


    With the upcoming release of Xopero ONE (scheduled for May 2026), we are introducing support for GitHub issue types.

    To enable this new feature, GitHub requires a manual update to your GitHub App permissions. While your existing backup plans will continue to run without interruption, this manual approval is required to unlock the new capabilities and ensure future compatibility.

    Below is a step-by-step walkthrough of the approval process.

    1

    You will get an email from GitHub containing information about the application and the organization or account requesting elevated access. To grant Xopero ONE the required permissions, click the Review permission request to accept or reject this change link.

    2

    After clicking the link, you will be redirected to GitHub, where you can review the requested permissions and approve them.


    Organizations with more than 20 users receive an additional 50 requests per hour for each user beyond 20.

  • The total rate limit is capped at 12,500 requests per hour.

  • 3

    Once the requested permissions are accepted, your environment will be ready for full backup coverage of issue type data when the next Xopero ONE release goes live.

    Rate limit

    Learn more about rate limits in .

    Access control and approval flow

    App authorization

    You can install a GitHub App without authorizing it, and you can also authorize an app without installing it.

    Throttling prevention

    You can find more information about throttling and throttling mitigation methods in section.

    Updating GitHub App permissions

    You will receive an email notification from GitHub for each of your installations and will need to manually review and approve the new issue types permission request within your GitHub account.

    Useful links and items

    requested permissions
    Throttling prevention
    Avoiding API rate limits impact
    the official GitHub documentation
    Useful links and items

    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.


    General information

    Useful links and items

    Deciding when to build a GitHub App - GitHub DocsGitHub Docs
    Logo
    Rate limits for the REST API - GitHub DocsGitHub Docs
    About creating GitHub Apps - GitHub DocsGitHub Docs
    Logo
    Logo
    Rate limits for the REST API - GitHub DocsGitHub Docs
    Logo

    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).


    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.


    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:

    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).
  • 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.

    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.

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

    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. In Map organizations section, select the target organizations where the repositories 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 custom names for all repositories or add a suffix to the original repository names.

    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.

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

    2. 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.

    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

    Useful links and items

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

    Useful links and items

    Users and groups | Bitbucket Data Center 10.4 | Atlassian Documentationconfluence.atlassian.com

    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.

    Logo

    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 GitHub tab (DevOps > GitHub), then click the Restore button next to the organization whose backup you want to restore.

    You can also use the Explore button to restore your data.

    1. 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

    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.

    5

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

    6

    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.


    Extensive testing and analysis have shown that restoring repositories with many issues and pull requests significantly prolongs the restoration process. This delay is caused by limitations within GitHub’s infrastructure and the API used for repository restoration.

    To speed up the repository access, it is recommended to exclude issues and pull requests during the initial restore. Once the repository is restored, you can perform a subsequent restore—including issues and pull requests—under a different repository name. This approach ensures quick access while still allowing full restoration of repository content.


    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.

    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

    During restoration to GitHub, the Use existing projects instead of creating new ones option becomes available. When restoring projects v2, this option restores the data into the existing projects rather than creating new ones.

    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.

    Closed or merged pull requests are recovered as closed issues.

    Restoration time

    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.