SpecSync Documentation
Getting StartedConfigurationGuidesDownloads
Azure DevOps
Azure DevOps
  • Introduction to SpecSync for Azure DevOps
  • Getting started
    • Getting started using SpecFlow
    • Getting started using Cucumber or other Gherkin-based BDD tool
  • Installation & Setup
    • Install as .NET tool
    • Install as .NET Console App
    • Install as native binaries for Linux or macOS
    • Install as Docker image
    • Setup and Configure
  • Features
    • Push features
      • Pushing scenario changes to Test Cases
      • Configuring the format of the synchronized test cases
      • Synchronizing Scenario Outlines
      • Add new Test Cases to an Area or an Iteration
      • Mark Test Cases as Automated
      • Setting Test Case state on change
      • Update Test Case fields
      • Attach files to Test Cases using tags
      • Customization: Setting Test Case fields with default values
      • Customization: Update custom Test Case fields on push
      • Customization: Ignoring marked Test Case steps
      • Customization: Ignoring Test Case Tags
      • Customization: Ignore non-supported local tags
      • Customization: Mapping tags
      • Customization: Synchronizing scenarios from feature branches
      • Customization: Reset Test Case state after change
      • Customization: Automatically link changed Test Cases
      • Customization: Synchronize linked artifact titles
      • Customization: Add Test Cases to Suites
      • Customization: Do not synchronize title
    • Pull features
      • Pulling Test Case changes to local scenarios
    • Common synchronization features
      • Configuration key
      • Remote scope
      • Linking Work Items using tags
      • Synchronizing Test Case hierarchies using Test Suites
      • Include synchronized Test Cases to a Test Suite (deprecated)
      • Excluding scenarios from synchronization
      • Synchronization conflict resolution
      • Re-link scenarios to new Test Cases
    • Test result publishing features
      • Publishing test result files
      • Support for Azure DevOps Test Plan / Test Suite based test execution
      • Customization: Publishing test results to multiple Test Suites
    • General features
      • Azure DevOps authentication options
      • Configuration file
      • Hierarchical configuration files
      • Local test case conditions
      • Configuration wizards
      • SpecSync plugins
    • Customizations
    • Plugin list
  • Licensing
  • Guides
    • What is my Azure DevOps project URL?
    • How to define the local feature-set to be synchronized
    • Filters and scopes
    • How to synchronize automated test cases
    • How to use SpecSync from build or release pipeline
    • How to publish test results from pipelines using the VSTest task
    • How to use the SpecSync Azure DevOps pipeline tasks
    • How to link GitHub pull requests
    • How to upgrade to a newer version of SpecSync
    • How to attach files to test results
    • Using SpecSync with SpecFlow+
    • Using SpecSync with Cucumber
    • Using SpecSync with Cypress
    • Using SpecSync with Postman
    • Using SpecSync with TestNG
    • Using SpecSync on macOS or Linux
    • Using SpecSync inside a Docker container
    • How to handle Test Cases of multiple parallel application releases
    • Migrating from SpecSync v3 to v5
    • Migrating from SpecSync v2 to v3
    • Migrating from SpecSync v1 to v2
  • Changelog
  • Release Model and Roadmap
  • Downloads
  • Reference
    • Command line reference
      • init
      • upgrade
      • push
      • pull
      • publish-test-results
      • re-link
      • version
    • Configuration reference
      • toolSettings
      • local
      • remote
      • knownRemotes
      • synchronization
        • push
        • pull
        • automation
        • state
        • areaPath
        • iterationPath
        • links
        • attachments
        • format
        • fieldUpdates
      • hierarchies
      • publishTestResults
      • specFlow
      • reqnroll
      • customizations
    • Compatibility
    • Older versions
  • Contact
    • SpecSync Support
    • Troubleshooting
    • FAQ
  • Project Website
Powered by GitBook
On this page
  • Replace NuGet package references
  • Capture your synchronization settings in a config file
  • Review revised two-way synchronization workflow
  • Use new name and push/pull command when invoking the synchronization tool

Was this helpful?

  1. Guides

Migrating from SpecSync v1 to v2

PreviousMigrating from SpecSync v2 to v3NextChangelog

Last updated 2 years ago

Was this helpful?

SpecSync v2 has introduced a couple of major improvements. If you have used SpecSync v1.* earlier, you need to do a few steps in order to use v2 in your project.

You can find a complete list of improvements in the .

Replace NuGet package references

If you have used SpecSync via NuGet, you have to replace the NuGet package references.

The core package (SpecSync.MTM) has been renamed to SpecSync.AzureDevOps and it no longer contains the SpecFlow plugin needed for synchronizing automated test cases.

Note: In the beta versions of SpecSync v2, a package name SpecSync.TFS has been used, but that has been deprecated in favor of SpecSync.AzureDevOps.

If you use SpecSync with SpecFlow and have used synchronizing automated test cases before, you have to add an additional NuGet package. The necessary NuGet package depends on the SpecFlow version you use. For example for SpecFlow v2.3.*, you have to use the package. Read more about this in .

Capture your synchronization settings in a config file

With SpecSync v1 all the configuration had to be specified as command line options but as the number of different configuration options grew, this became inconvenient. In v2 we have introduced a JSON configuration file to keep the configuration settings clean and organized. The configuration file (called specsync.json by default) has a JSON schema, therefore most of the IDE editors (e.g. Visual Studio or Visual Studio Code) offers auto-completion and validation for it, so that changing the configuration settings becomes easy. The JSON schema provides a short summary of each element that you can see if you hover your mouse over the setting, but there is also a complete reference of the different setting with examples in the reference.

Some of the settings can still be overridden from command line (e.g. password or force update). You can find a complete list of these in the reference.

When upgrading from v1, you have to create a specsync.json file (based on an ), and migrate your synchronization settings to it. Most of the settings have the same name, but we have renamed some of the settings for better clarity. If you get into trouble with finding the right setting in the new configuration file format, please contact us at specsync@specsolutions.eu.

Review revised two-way synchronization workflow

If you have used two-way synchronization with v1 (also called as "back-sync"), you should check the new workflow in the guide. In the new workflow, we have split the two synchronization ways into separate commands: push and pull.

Use new name and push/pull command when invoking the synchronization tool

Since the settings have moved from command line options to the configuration file, calling the synchronization tool from command line becomes easier.

Be aware that the command line tool has been renamed to SpecSycn4TFS.exe.

The usual way of invoking the synchronization is now as simple as this:

path-to-specsync-package\tools\SpecSync4AzureDevOps.exe push

In addition to renaming, the tool supports multiple synchronization commands. For synchronizing scenarios to test cases, the push command has to be used. See full list of commands and options in the reference.

Changelog
SpecSync.AzureDevOps.SpecFlow.2-3
Synchronizing automated test cases
Configuration
Usage
empty configuration file
Two-way synchronization
Usage