Configuration reference

SpecSync can be configured using a json configuration file, by default called specsync.json. This section contains a detailed reference of the SpecSync configuration options. For a general introduction about how SpecSync configuration works, please check the Configuration file page.

The Setup and Configure page contains information about how to initialize the configuration file.

Most IDE editors (e.g. Visual Studio, Atom, Visual Studio Code) provide auto-completion and in-place documentation for SpecSync configuration files. Please make sure you keep the "$schema" setting at the top of the file.

A minimal configuration file

The following example shows a minimal configuration file.

{
  "$schema": "http://schemas.specsolutions.eu/specsync4azuredevops-config-latest.json",
  "compatibilityVersion": 3.3,

  "remote": {
    "projectUrl": "https://specsyncdemo.visualstudio.com/MyCalculator",
  }
}

The compatibilityVersion setting at the top of the file specifies the SpecSync version that the configuration file was created for. The new SpecSync features can be used even if the compatibility version is older than the current version, but if the default values of some settings change in the future, SpecSync will not apply these default unless the compatibility version is updated.

Configuration sections

The settings in the configuration file are grouped into different configuration sections. Each configuration section is a JSON object following the syntax:

{  // start of the file
  ...
  "section1": {
    // settings for section 'section1' 
  },
  ...  
}  // end of the file

Note: The leading comma (,) after the curly brace close (}) of section1 is not needed if this is the last section in the file.

The SpecSync configuration file supports // comments.

Available configuration sections

The following configuration sections can be used. Click to the name of the section for detailed documentation.

  • toolSettings — settings for the synchronization tool

  • local — settings for the local repository (file system) containing the feature files

  • remote — Settings for accessing the test cases on the remote Azure DevOps server

  • knownRemotes — Specify connection and authentication details of Azure DevOps projects that are used by multiple synchronization projects. This setting can be used in user-specific configuration files.

  • synchronization — synchronization settings

  • publishTestResults - test result publish settings

  • specFlow — settings related to synchronizing SpecFlow projects

  • customizations — configure customizations

Last updated