How to version configuration files

The Swagger (*.yaml) and JSON (*.json) schema files that define a REST API exist in the following Guidewire Studio folders:
  • Integration > apis for Swagger schema files
  • Integration > mappings for JSON mapping files
  • Integration > schemas for JSON schema files
Every YAML and JSON file name consists of two parts, each part separated by a '-' character:
  • Actual file name
  • Version number
Use the following syntax in naming YAML (Swagger) and JSON files:
  • name-version.swagger.yaml
  • name-version.schema.json
The use of version numbers provides for the following capabilities:
  • It provides for a common namespace for a set of configuration files.
  • It provides for the ability to create different functionality or behavior for different versions of the API.
  • It provides for the ability to publish different versions of an API in different environments.

Guidewire recommends that you use this same file naming scheme for any Gosu handler class and resource files that you create as well.

Fully qualified file names

The file name and the subfolder path all become part of the fully qualified name of the file. The folder path to the actual file becomes part of the fully qualified file name similar to a package name in Java, for example:
  • gw.system.server.profiler.base-1.0.swagger.yaml