Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
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.
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:
To ensure both backup and restore operations succeed, the following permissions are required:
Organization level:
General:
Create new projects (restore)
For on-premise installations, use the personal access token (PAT) method.
Create process (restore)
Edit process (restore)
Project level:
General:
View project-level information (backup)
Repositories level:
Create branch (restore)
Create repository (restore)
Read (backup)
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)
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.
Xopero ONE can only protect projects that the integrated user account has explicit access to.
Xopero supports only organizational accounts (Microsoft Entra ID) — personal accounts are not supported. For private accounts, use PAT instead.
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.
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.

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.
Get into the restore view using the following method:
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.
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.
Choose the backup version from all the backups that have already been performed — select the desired date and click the Restore button.
Select the data available to restore and click Restore selected or Restore all to proceed.
Select the destination for the recovery and click Next.
In the Data to restore section at the top, you can select which of the previously chosen available data you want to restore.
In the Restore to section, you can change the previously selected recovery destination if needed.
In the Throttling prevention section, you can add additional DevOps organization accounts to avoid throttling.
Configure the recovery destination settings, depending on where the backup will be restored.
In Map organizations section, select the target organization to which the repository will be restored.
In Restore settings, you can set a unique, custom name for the repository (or use the custom name automatically generated by
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.
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.
The below steps demonstrate how to quickly restore a single Azure DevOps project using Xopero ONE Management Service.
Get into the restore view using the following method:
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).
Check which agent is set as the default for recovery and change it if necessary.
If needed, you can also adjust the bandwidth.
Select the destination device (a registered device).
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.
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).
To use additional organization accounts, you must first add them in the organization settings (organization view > Edit).
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.
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.
Open the Azure DevOps tab (DevOps > Azure DevOps), then click the Explore button next to the organization whose backup you want to restore (explore icon in list view).
In the Projects & repositories tab, search for the project you want to restore, then click the restore icon in the action menu of that project.
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.
Choose the backup version from all the backups that have already been performed — select the desired date and click the Restore button.
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).
Select the available metadata to restore and click Restore selected or Restore all to proceed.
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.
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.
In the Restore to section, you can change the previously selected recovery destination if needed.
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).
Configure the recovery destination settings, depending on where the backup will be restored.
Select the target organization (where applicable).
If you are restoring your project to Azure DevOps or DevOps Server organization:
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:
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.
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.
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).
Adjust the bandwidth settings.
Check which agent is set as the default for recovery and change it if necessary.
Select the destination device (a registered device).
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.
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.
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.
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.


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









Learn more about the backup process for Azure DevOps.
Xopero ONE is designed to protect DevOps ecosystems, including Azure DevOps.
To ensure your entire Azure DevOps environment is reliably backed up, make sure to include all repositories along with their related metadata — the best practice is to create a backup plan for critical repositories and metadata that change daily (or even more frequently), for example, using the recommended Grandfather-Father-Son (GFS) rotation scheme.
Additionally, create a separate backup plan for unused repositories that you need to keep for future reference. This type of backup primarily serves Azure DevOps archival purposes, and with unlimited retention, you can store your copies for as long as needed — even indefinitely.
You can also delete repositories from your Azure DevOps account while keeping a copy in storage, which helps bypass Azure DevOps limits.
Incremental 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:



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.
Unfortunately, unlike other DevOps, Microsoft does not provide information about the exact number of queries that can be sent in a given time period.




Overview of Azure DevOps and DevOps Server backup recovery in Xopero ONE, including restoration of repositories, wikis, and related metadata.
How Xopero ONE restores repositories and metadata across Git providers for rapid disaster recovery and DevOps migrations.
Recover a single Azure DevOps and DevOps Server project backup copy, including its repositories and other metadata.
Learn how to restore a single Azure DevOps and DevOps Server repository backup.
Restore multiple Azure DevOps and DevOps Server project backup copies at once.
How to restore multiple Azure DevOps and DevOps Server repository backup copies at once.
How to restore a DevOps organization wiki and its metadata separately.






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.
The list is presented in alphabetical order.
*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).
*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.
*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.
Work Item Types - States
Environments
Pipelines*
Variable Groups**
Project Wiki
Closed Pull Requests*
Comments
Creation Date
Creator
Description
Merged Pull Requests*
Open Pull Requests
Reviewers
Tags
Branches
Commits
Commit Creators
Commit History
Commit Messages
Default Branch
Git Objects
LFS
Tags
Configurations
Configuration Variables
Test Cases (assignment to Test Suites)
Test Plans
Test Points (state & outcome)
Test Results
Test Run**
Test Suites***
Restore multiple Azure DevOps and DevOps Server project backup copies at once.
Restoring multiple Azure DevOps projects enables organizations to quickly recover projects, repositories, and source code at scale, ensuring consistent and reliable restoration across the development environment.
The below steps demonstrate how to restore multiple Azure DevOps projects at once using Xopero ONE Management Service.
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.
Get into the restore view using the following method:
Open the Azure DevOps tab (DevOps > Azure DevOps), then click the Explore button next to the organization whose backup you want to restore (explore icon in list view).
In the Projects & repositories tab, select all projects you want to restore, and then click Restore in the top menu.
Click every chosen project to select the backup plan and copy from which you want to restore data, then click Next.
Select the destination for the recovery and click Next.
In Data to restore section at the top, click Edit and select data you want to restore.
In the Throttling prevention section, you can add additional DevOps organization accounts to avoid throttling.
Configure the recovery destination settings, depending on where the backup will be restored.
Select the target organization (where applicable).
In Restore settings, you can set custom names for all projects and repositories in the project, or add a suffix to their original names.
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.
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.
Get into the restore view using the following method:
If you are restoring your project to the Azure DevOps or DevOps Server organization:
Choose whether to restore repositories from the project's copy:
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.
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.
Adjust the bandwidth and other available settings, depending on the recovery destination.
Check which agent is set as the default for recovery and change it if necessary.
Select the destination device (a registered device).
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.
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).
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.




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.
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.
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.
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.
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).
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.
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).
Configure the recovery destination settings, depending on where the backup will be restored.
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.
In Restore settings, you can set custom names for all repositories or add a suffix to the original repository names.
Adjust the bandwidth and other available settings, depending on the recovery destination.
Check which worker is set as the default for recovery and change it if necessary.
Select the destination device (a registered device).
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.
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.
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.



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







This article explains how to add an Azure DevOps Server organization to Xopero ONE.
Azure DevOps Server (self-managed, on-premise) does not support OAuth and requires a personal access token.
Log in to XMS, open the DevOps tab on the left side of the window, and select Azure DevOps from the list.
Click the Connect button under Azure DevOps Server.
Set your authentication method.
In Authentication, select Azure DevOps Server.
Enter the service address of your Azure DevOps Server (IP or DNS name, including the protocol).
Configure your repository sync and default worker. Specify hours for synchronization, or set a time interval for automatic updates.
Click Proceed to complete adding your Azure DevOps Server organization and grant Xopero ONE access to the specified resources.
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.
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.




This article contains information on how to set up Azure DevOps & DevOps Server backup plan.
Login to Xopero ONE Management Service, open the Plans > Backup tab and click the Add plan button in the top bar.
Select Azure DevOps from the list.
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.
Protect all — protects an entire Azure DevOps organization.
Select projects — allows you to protect selected Azure DevOps projects (including its metadata).
Specify a name for the backup plan.
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.
Select one of the locations assigned to your Xopero ONE instance as storage.
Customize the scheduler and specify how long your data should be retained. If needed, adjust the advanced settings to suit your needs.
If necessary, adjust the advanced settings such as encryption, error handling, or bandwidth limits to fit your requirements.
Double-check your data and click Save to create the backup plan.
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.









This article explains how to add an Azure DevOps organization to Xopero ONE.
Log in to XMS, open the DevOps tab on the left side of the window, and select Azure DevOps from the list.
Click the Connect button under Azure DevOps.
, 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.
Check the Consent on behalf of your organization checkbox and click Accept to proceed.
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.
Log in to XMS, open the DevOps tab on the left side of the window, and select Azure DevOps from the list.
Click the advanced mode link under Azure DevOps and Azure DevOps Server tiles.
When adding an organization, you may be prompted to grant additional permissions to the Xopero ONE application — make sure your browser allows Xopero to open pop-up windows.
Depending on your browser, you can either adjust the settings to allow pop-ups or permit the authorization window to open once.
Set your authentication method.
In Authentication, select Azure DevOps.
For Connect using, choose Username and Personal Access Token.
Add or select PAT from the Password Manager.
Choose whether Xopero should automatically add new repositories to your backup.
Configure your repository sync and default worker. Specify hours for synchronization, or set a time interval for automatic updates.
Cloud workers cannot access local network storage. Choose a device with the necessary access if backing up locally.
Click Proceed to complete adding your Azure DevOps organization and grant Xopero ONE access to the specified resources.
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.










