Schema URL

Type: object

GitVersion configuration schema (6.0)

Properties

assembly-file-versioning-format string

Specifies the format of AssemblyFileVersion and overwrites the value of assembly-file-versioning-scheme.

assembly-file-versioning-scheme enum

The scheme to use when setting AssemblyFileVersion attribute. Can be 'MajorMinorPatchTag', 'MajorMinorPatch', 'MajorMinor', 'Major', 'None'. Defaults to 'MajorMinorPatch'.

Default: "MajorMinorPatch"
Values: "MajorMinorPatchTag" "MajorMinorPatch" "MajorMinor" "Major" "None"
assembly-informational-format string

Specifies the format of AssemblyInformationalVersion. Defaults to '{InformationalVersion}'.

Default: "'{InformationalVersion}'"
assembly-versioning-format string

Specifies the format of AssemblyVersion and overwrites the value of assembly-versioning-scheme.

assembly-versioning-scheme enum

The scheme to use when setting AssemblyVersion attribute. Can be 'MajorMinorPatchTag', 'MajorMinorPatch', 'MajorMinor', 'Major', 'None'. Defaults to 'MajorMinorPatch'.

Default: "MajorMinorPatch"
Values: "MajorMinorPatchTag" "MajorMinorPatch" "MajorMinor" "Major" "None"
branches Record<string, object>

The header for all the individual branch configuration.

commit-date-format string

The format to use when calculating the commit date. Defaults to 'yyyy-MM-dd'. See Standard Date and Time Format Strings and Custom Date and Time Format Strings.

Default: "yyyy-MM-dd"
commit-message-incrementing enum

Sets whether it should be possible to increment the version with special syntax in the commit message. Can be 'Disabled', 'Enabled' or 'MergeMessageOnly'.

Values: "Enabled" "Disabled" "MergeMessageOnly"
mode enum

The deployment mode for this branch. Can be 'ManualDeployment', 'ContinuousDelivery', 'ContinuousDeployment'.

Values: "ManualDeployment" "ContinuousDelivery" "ContinuousDeployment"
ignore object

The header property for the ignore configuration.

2 nested properties
commits-before string

Commits before this date will be ignored. Format: yyyy-MM-ddTHH:mm:ss.

format=date-time
sha string[]

A sequence of SHAs to be excluded from the version calculations.

increment enum

The increment strategy for this branch. Can be 'Inherit', 'Patch', 'Minor', 'Major', 'None'.

Values: "None" "Major" "Minor" "Patch" "Inherit"
is-main-branch boolean | null

When using Mainline mode, this indicates that this branch is a mainline. By default main and support/* are mainlines.

is-release-branch boolean | null

Indicates this branch configuration represents a release branch in GitFlow.

is-source-branch-for string[]

The branches that this branch is a source branch.

label string

The label to use for this branch. Use the value {BranchName} or similar as a placeholder to insert a named capture group from RegularExpression (fx. the branch name).

label-number-pattern string

The regular expression pattern to use to extract the number from the branch name. Defaults to '/-'.

Default: "[/-](?<number>\d+)"
format=regex
major-version-bump-message string

The regular expression to match commit messages with to perform a major version increment. Defaults to '+semver:\s?(breaking|major)'

Default: "\+semver:\s?(breaking|major)"
format=regex
merge-message-formats Record<string, string>

Custom merge message formats to enable identification of merge messages that do not follow the built-in conventions.

minor-version-bump-message string

The regular expression to match commit messages with to perform a minor version increment. Defaults to '+semver:\s?(feature|minor)'

Default: "\+semver:\s?(feature|minor)"
format=regex
next-version string

Allows you to bump the next version explicitly. Useful for bumping main or a feature branch with breaking changes

no-bump-message string

Used to tell GitVersion not to increment when in Mainline development mode. Defaults to '+semver:\s?(none|skip)'

Default: "\+semver:\s?(none|skip)"
format=regex
patch-version-bump-message string

The regular expression to match commit messages with to perform a patch version increment. Defaults to '+semver:\s?(fix|patch)'

Default: "\+semver:\s?(fix|patch)"
format=regex
pre-release-weight integer | null

Provides a way to translate the PreReleaseLabel to a number.

prevent-increment object

The prevent increment configuration section.

3 nested properties
of-merged-branch boolean | null

Prevent increment when branch merged.

when-branch-merged boolean | null

Prevent increment when branch merged.

when-current-commit-tagged boolean | null

This branch related property controls the behavior whether to use the tagged (value set to true) or the incremented (value set to false) semantic version. Defaults to true.

regex string

The regular expression pattern to use to match this branch.

format=regex
semantic-version-format enum

Specifies the semantic version format that is used when parsing the string. Can be 'Strict' or 'Loose'. Defaults to 'Strict'.

Default: "Strict"
Values: "Strict" "Loose"
source-branches string[]

The source branches for this branch.

tag-prefix string

A regular expression which is used to trim Git tags before processing. Defaults to '[vV]?'

Default: "[vV]?"
format=regex
tag-pre-release-weight integer | null

The pre-release weight in case of tagged commits. Defaults to 60000.

track-merge-message boolean | null

This property is a branch related property and gives the user the possibility to control the behavior of whether the merge commit message will be interpreted as a next version or not.

track-merge-target boolean | null

Strategy which will look for tagged merge commits directly off the current branch.

tracks-release-branches boolean | null

Indicates this branch configuration represents develop in GitFlow.

update-build-number boolean

Whether to update the build number in the project file. Defaults to true.

Default: "true"
version-in-branch-pattern string

A regular expression which is used to determine the version number in the branch name or commit message (e.g., v1.0.0-LTS). Defaults to '(?[vV]?\d+(.\d+)?(.\d+)?).*'.

Default: "(?<version>[vV]?\d+(\.\d+)?(\.\d+)?).*"
format=regex
strategies enum[]

Specifies which version strategies (one or more) will be used to determine the next version. Following values are available: 'ConfiguredNextVersion', 'MergeMessage', 'TaggedCommit', 'TrackReleaseBranches', 'VersionInBranchName' and 'Mainline'.

workflow string

The base template of the configuration to use. Possible values are: 'GitFlow/v1' or 'GitHubFlow/v1'

Definitions

branchConfiguration object
commit-message-incrementing enum

Sets whether it should be possible to increment the version with special syntax in the commit message. Can be 'Disabled', 'Enabled' or 'MergeMessageOnly'.

Values: "Enabled" "Disabled" "MergeMessageOnly"
mode enum

The deployment mode for this branch. Can be 'ManualDeployment', 'ContinuousDelivery', 'ContinuousDeployment'.

Values: "ManualDeployment" "ContinuousDelivery" "ContinuousDeployment"
increment enum

The increment strategy for this branch. Can be 'Inherit', 'Patch', 'Minor', 'Major', 'None'.

Values: "None" "Major" "Minor" "Patch" "Inherit"
is-main-branch boolean | null

When using Mainline mode, this indicates that this branch is a mainline. By default main and support/* are mainlines.

is-release-branch boolean | null

Indicates this branch configuration represents a release branch in GitFlow.

is-source-branch-for string[]

The branches that this branch is a source branch.

label string

The label to use for this branch. Use the value {BranchName} or similar as a placeholder to insert a named capture group from RegularExpression (fx. the branch name).

label-number-pattern string

The regular expression pattern to use to extract the number from the branch name. Defaults to '/-'.

Default: "[/-](?<number>\d+)"
format=regex
pre-release-weight integer | null

Provides a way to translate the PreReleaseLabel to a number.

prevent-increment object

The prevent increment configuration section.

3 nested properties
of-merged-branch boolean | null

Prevent increment when branch merged.

when-branch-merged boolean | null

Prevent increment when branch merged.

when-current-commit-tagged boolean | null

This branch related property controls the behavior whether to use the tagged (value set to true) or the incremented (value set to false) semantic version. Defaults to true.

regex string

The regular expression pattern to use to match this branch.

format=regex
source-branches string[]

The source branches for this branch.

track-merge-message boolean | null

This property is a branch related property and gives the user the possibility to control the behavior of whether the merge commit message will be interpreted as a next version or not.

track-merge-target boolean | null

Strategy which will look for tagged merge commits directly off the current branch.

tracks-release-branches boolean | null

Indicates this branch configuration represents develop in GitFlow.

nullableOfCommitMessageIncrementMode enum

Sets whether it should be possible to increment the version with special syntax in the commit message. Can be 'Disabled', 'Enabled' or 'MergeMessageOnly'.

nullableOfDeploymentMode enum

The deployment mode for this branch. Can be 'ManualDeployment', 'ContinuousDelivery', 'ContinuousDeployment'.

incrementStrategy enum

The increment strategy for this branch. Can be 'Inherit', 'Patch', 'Minor', 'Major', 'None'.

nullableOfBoolean boolean | null

When using Mainline mode, this indicates that this branch is a mainline. By default main and support/* are mainlines.

nullableOfBoolean1 boolean | null

Indicates this branch configuration represents a release branch in GitFlow.

hashSetOfString string[]

The branches that this branch is a source branch.

string string

The label to use for this branch. Use the value {BranchName} or similar as a placeholder to insert a named capture group from RegularExpression (fx. the branch name).

string1 string

The regular expression pattern to use to extract the number from the branch name. Defaults to '/-'.

nullableOfInt32 integer | null

Provides a way to translate the PreReleaseLabel to a number.

preventIncrementConfiguration object

The prevent increment configuration section.

of-merged-branch boolean | null

Prevent increment when branch merged.

when-branch-merged boolean | null

Prevent increment when branch merged.

when-current-commit-tagged boolean | null

This branch related property controls the behavior whether to use the tagged (value set to true) or the incremented (value set to false) semantic version. Defaults to true.

nullableOfBoolean2 boolean | null

Prevent increment when branch merged.

nullableOfBoolean3 boolean | null

This branch related property controls the behavior whether to use the tagged (value set to true) or the incremented (value set to false) semantic version. Defaults to true.

string2 string

The regular expression pattern to use to match this branch.

hashSetOfString1 string[]

The source branches for this branch.

nullableOfBoolean4 boolean | null

This property is a branch related property and gives the user the possibility to control the behavior of whether the merge commit message will be interpreted as a next version or not.

nullableOfBoolean5 boolean | null

Strategy which will look for tagged merge commits directly off the current branch.

nullableOfBoolean6 boolean | null

Indicates this branch configuration represents develop in GitFlow.

string3 string

Commits before this date will be ignored. Format: yyyy-MM-ddTHH:mm:ss.

hashSetOfString2 string[]

A sequence of SHAs to be excluded from the version calculations.