Generic
Use this releaser if no specific releaser is available.
The generic releaser does not support all features.
|
The following features are not available when the generic Git releaser is configured:
-
packaging tools: Homebrew, Chocolatey, JBang, Scoop, Snap.
-
announcers: Sdkman.
-
auto-config is not supported.
Only the release tag will be created. If you’d like to upload artifacts to a particular destination then configure an uploader.
Legend:
-
required
-
optional
-
may use environment variable
-
accepts Name Templates
#
release:
# Repo in which the release will be created.
#
generic:
# Disables or enables publication to Generic.
# defaults to `true`.
#
enabled: true
# Defines the connection timeout in seconds.
# Defaults to `20`.
#
connectTimeout: 20
# Defines the read timeout in seconds.
# Defaults to `60`.
#
readTimeout: 60
# The user or organization that owns the repository.
#
owner: duke
# The name of the repository.
# If unspecified, will use ${project.name}.
#
name: app
# The Generic host url.
#
host: https://my.githost.com
# Username used for authoring commits. Must have write access to the repository.
# If left unspecified, the `JRELEASER_GENERIC_USERNAME`
# environment variable must be defined.
# Defaults to the repository's owner.
#
username: duke
# Password or OAuth token with write access to the repository.
# If left unspecified, the `JRELEASER_GENERIC_TOKEN`
# environment variable must be defined.
#
token: __DO_NOT_SET_HERE__
# The tag associated with the release.
# May define a `JRELEASER_TAG_NAME` environment variable instead.
# If left unspecified, will use `v{{projectVersion}}`.
#
tagName: v1.0.0
# The tag to compare against the release tag. Is used to fetch all commits between those tags.
# May define a `JRELEASER_PREVIOUS_TAG_NAME` environment variable instead.
# If left unspecified, will use the previous logical tag of `tagName`.
#
previousTagName: v0.9.0
# The name of the release.
# If left unspecified, will use `Release {{tagName}}`.
# May define a `JRELEASER_RELEASE_NAME` environment variable instead.
#
releaseName: Release v1.0.0
# Drops and creates an existing release with matching tag.
# May define a `JRELEASER_OVERWRITE` environment variable instead.
# Defaults to `false`.
#
overwrite: true
# Skips creating a tag.
# Useful when the tag was created externally.
# May define a `JRELEASER_SKIP_TAG` environment variable instead.
# Defaults to `false`.
#
skipTag: false
# Skips creating a release.
# Useful when release assets will be handled with an uploader.
# May define a `JRELEASER_SKIP_RELEASE` environment variable instead.
# Defaults to `false`.
#
skipRelease: false
# Signs commits with the configured credentials.
# The Signing section must be configured as well.
# Defaults to `false`.
#
sign: false
# The target branch to use.
# May define a `JRELEASER_BRANCH` environment variable instead.
# Defaults to the branch pointed by HEAD.
#
branch: main
# Git author used to commit to the repository.
#
commitAuthor:
# Name used when authoring commits.
# Defaults to `jreleaserbot`.
#
name: jreleaserbot
# E-mail used when authoring commits.
# Defaults to `jreleaser@kordamp.org`.
#
email: jreleaser@kordamp.org
# Changelog customization.
#
changelog:
# Disables or enables the changelog.
# defaults to `true`.
#
enabled: true
# Sorts commits in ascending (oldest first) or descending (newer first).
# Valid values are: `ASC`, `DESC`.
# Defaults to `DESC`.
#
sort: DESC
# Path to an external file that contains the changelog, read as is.
# May be a relative path to the configuration file or an absolute path.
# If unspecified, JReleaser will automatically calculate the changelog.
#
external: path/to/changelog.md
# Create explicit markdown links for commit hashes.
# Defaults to `false`.
#
links: false
# Enables or disables formatting options.
# Valid values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
# Defaults to `NEVER`.
#
formatted: ALWAYS
# Preconfigured changelog options.
# Valid values are [`gitmoji`, `conventional-commits`].
# Requires `formatted` to be enabled.
# Defaults to empty.
#
preset: 'gitmoji'
# The template to use for each change.
# Defaults to `- {{commitShortHash}} {{commitTitle}} ({{commitAuthor}})`.
#
format: '- {{commitShortHash}} {{commitTitle}}'
# The template to use for the whole changelog.
# Defaults is shown.
#
content: |
# Changelog
{{changelogChanges}}
{{changelogContributors}}
# Path to a template file that defines the contents.
# Review the available Name Templates.
# Defaults to `src/jreleaser/templates/changelog.tpl`.
#
contentTemplate: path/to/template/changelog.tpl
#
contributors:
# Enables the contributors block.
# Defaults to `true`.
#
enabled: true
# The template to use for each contributor.
# Defaults to `{{contributorName}}`.
#
format: '- {{contributorName}} ({{contributorUsernameAsLink}})'
#
hide:
# Hide uncategorized commits.
# Defaults to `false`.
#
uncategorized: true
# Hide matching categories.
# Entries must exactly match category keys defined below.
# Defaults to empty.
#
categories:
- 'merge'
# Hide matching contributor names.
# Value may be plain text or regex.
# Defaults to empty.
#
contributors:
- '[bot]'
# A list of labels to be included.
# Only changes matching this list will be included.
# Defaults to empty.
#
includeLabels:
- 'issue'
# A list of labels to be excluded.
# Changes matching this list will be excluded.
# Defaults to empty.
#
excludeLabels:
- 'issue'
# Defines rules that apply labels to changes.
# Matchers are evaluated independently; the label will
# be set if at least one of the matchers meets the criteria.
#
labelers:
# The label to be applied.
#
- label: 'issue'
# Matches the text of the first commit line.
# Value may be plain text or regex.
# Use `regex:` as prefix to indicate a regex.
#
title: 'regex:fix:'
# Matches the full text of the commit.
# Value may be plain text or regex.
# Use `regex:` as prefix to indicate a regex.
#
body: 'Fixes #'
# Priority when sorting.
# Defaults to `null`
#
order: 1
# Groups changes by category.
# Defaults are shown.
#
categories:
# Used for rendering
- title: '🚀 Features'
# Used for identifying the category
key: 'features'
labels:
- 'feature'
- 'enhancement'
order: 1
- title: '🐛 Bug Fixes'
key: 'fixes'
# You may override the format per category.
format: '- {{commitShortHash}} {{commitBody}}'
labels:
- 'bug'
- 'fix'
order: 2
# Defines rules for replacing the generated content.
# Each replacer is applied in order.
#
replacers:
- search: '\[chore\]\s'
replace: ''
- search: '/CVE-(\d{4})-(\d+)/g'
replace: 'https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-$1-$2'
# Repo in which the release will be created.
#
[release.generic]
# Disables or enables publication to Generic.
# defaults to `true`.
#
enabled = true
# Defines the connection timeout in seconds.
# Defaults to `20`.
#
connectTimeout = 20
# Defines the read timeout in seconds.
# Defaults to `60`.
#
readTimeout = 60
# The user or organization that owns the repository.
#
owner = "duke"
# The name of the repository.
# If unspecified, will use ${project.name}.
#
name = "app"
# The Generic host url.
#
host = "https://my.githost.com"
# Username used for authoring commits. Must have write access to the repository.
# If left unspecified, the `JRELEASER_GENERIC_USERNAME`
# environment variable must be defined.
# Defaults to the repository's owner.
#
username = "duke"
# Password or OAuth token with write access to the repository.
# If left unspecified, the `JRELEASER_GENERIC_TOKEN`
# environment variable must be defined.
#
token = "__DO_NOT_SET_HERE__"
# The tag associated with the release.
# May define a `JRELEASER_TAG_NAME` environment variable instead.
# If left unspecified, will use `v{{projectVersion}}`.
#
tagName = "v1.0.0"
# The tag to compare against the release tag. Is used to fetch all commits between those tags.
# May define a `JRELEASER_PREVIOUS_TAG_NAME` environment variable instead.
# If left unspecified, will use the previous logical tag of `tagName`.
#
previousTagName = "v0.9.0"
# The name of the release.
# If left unspecified, will use `Release {{tagName}}`.
# May define a `JRELEASER_RELEASE_NAME` environment variable instead.
#
releaseName = "Release v1.0.0"
# Drops and creates an existing release with matching tag.
# May define a `JRELEASER_OVERWRITE` environment variable instead.
# Defaults to `false`.
#
overwrite = true
# Skips creating a tag.
# Useful when the tag was created externally.
# May define a `JRELEASER_SKIP_TAG` environment variable instead.
# Defaults to `false`.
#
skipTag = false
# Skips creating a release.
# Useful when release assets will be handled with an uploader.
# May define a `JRELEASER_SKIP_RELEASE` environment variable instead.
# Defaults to `false`.
#
skipRelease = false
# Signs commits with the configured credentials.
# The Signing section must be configured as well.
# Defaults to `false`.
#
sign = false
# The target branch to use.
# May define a `JRELEASER_BRANCH` environment variable instead.
# Defaults to the branch pointed by HEAD.
#
branch = "main"
# Git author used to commit to the repository.
# Name used when authoring commits.
# Defaults to `jreleaserbot`.
#
commitAuthor.name = "jreleaserbot"
# E-mail used when authoring commits.
# Defaults to `jreleaser@kordamp.org`.
#
commitAuthor.email = "jreleaser@kordamp.org"
# Changelog customization.
# Disables or enables the changelog.
# defaults to `true`.
#
changelog.enabled = true
# Sorts commits in ascending (oldest first) or descending (newer first).
# Valid values are: `ASC`, `DESC`.
# Defaults to `DESC`.
#
changelog.sort = "DESC"
# Path to an external file that contains the changelog, read as is.
# May be a relative path to the configuration file or an absolute path.
# If unspecified, JReleaser will automatically calculate the changelog.
#
changelog.external = "path/to/changelog.md"
# Create explicit markdown links for commit hashes.
# Defaults to `false`.
#
changelog.links = false
# Enables or disables formatting options.
# Valid values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
# Defaults to `NEVER`.
#
changelog.formatted = "ALWAYS"
# Preconfigured changelog options.
# Valid values are [`gitmoji`, `conventional-commits`].
# Requires `formatted` to be enabled.
# Defaults to empty.
#
changelog.preset = "gitmoji"
# The template to use for each change.
# Defaults to `- {{commitShortHash}} {{commitTitle}} ({{commitAuthor}})`.
#
changelog.format = "- {{commitShortHash}} {{commitTitle}}"
# The template to use for the whole changelog.
# Defaults is shown.
#
changelog.content = """
# Changelog
{{changelogChanges}}
{{changelogContributors}}"""
# Path to a template file that defines the contents.
# Review the available Name Templates.
# Defaults to `src/jreleaser/templates/changelog.tpl`.
#
changelog.contentTemplate = "path/to/template/changelog.tpl"
#
[[release.generic.changelog.contributors]]
# Enables the contributors block.
# Defaults to `true`.
#
enable = true
# The template to use for each contributor.
# Defaults to `{{contributorName}}`.
#
format = "- {{contributorName}} ({{contributorUsernameAsLink}})"
#
[[release.generic.changelog.hide]]
# Hide uncategorized commits.
# Defaults to `false`.
#
uncategorized = true
# Hide matching categories.
# Entries must exactly match category keys defined below.
# Defaults to empty.
#
categories = ["merge"]
# Hide matching contributor names.
# Value may be plain text or regex.
# Defaults to empty.
#
contributors = ["[bot]"]
# A list of labels to be included.
# Only changes matching this list will be included.
# Defaults to empty.
#
changelog.includeLabels = ["issue"]
# A list of labels to be excluded.
# Changes matching this list will be excluded.
# Defaults to empty.
#
changelog.excludeLabels = ["issue"]
# Defines rules that apply labels to changes.
# Matchers are evaluated independently; the label will
# be set if at least one of the matchers meets the criteria.
#
[[release.generic.changelog.labelers]]
# The label to be applied.
#
label = "issue"
# Matches the text of the first commit line.
# Value may be plain text or regex.
# Use `regex:` as prefix to indicate a regex.
#
title = "regex:fix:"
# Matches the full text of the commit.
# Value may be plain text or regex.
# Use `regex:` as prefix to indicate a regex.
#
body = "Fixes #"
# Priority when sorting.
# Defaults to `null`
#
order = 1
# Groups changes by category.
# Defaults are shown.
#
[[release.generic.changelog.categories]]
# Used for rendering
title = "🚀 Features"
# Used for identifying the category
key = "features"
labels = ["feature", "enhancement"]
order = 1
[[release.generic.changelog.categories]]
title = "🐛 Bug Fixes"
key = "fixes"
# You may override the format per category.
format = "- {{commitShortHash}} {{commitBody}}"
labels = ["bug", "fix"]
order = 2
# Defines rules for replacing the generated content.
# Each replacer is applied in order.
#
[[release.generic.changelog.replacers]]
search = "\[chore\]\s"
replace = ""
[[release.generic.changelog.replacers]]
search = "/CVE-(\d{4})-(\d+)/g"
replace = "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-$1-$2"
{
//
"release": {
// Repo in which the release will be created.
//
"generic": {
// Disables or enables publication to Generic.
// defaults to `true`.
//
"enabled": true,
// Defines the connection timeout in seconds.
// Defaults to `20`.
//
"connectTimeout": 20,
// Defines the read timeout in seconds.
// Defaults to `60`.
//
"readTimeout": 60,
// The user or organization that owns the repository.
//
"owner": "duke",
// The name of the repository.
// If unspecified, will use ${project.name}.
//
"name": "app",
// The Generic host url.
//
"host": "https://my.githost.com",
// Username used for authoring commits. Must have write access to the repository.
// If left unspecified, the `JRELEASER_GENERIC_USERNAME`
// environment variable must be defined.
// Defaults to the repository's owner.
//
"username": "duke",
// Password or OAuth token with write access to the repository.
// If left unspecified, the `JRELEASER_GENERIC_TOKEN`
// environment variable must be defined.
//
"token": "__DO_NOT_SET_HERE__",
// The tag associated with the release.
// May define a `JRELEASER_TAG_NAME` environment variable instead.
// If left unspecified, will use `v{{projectVersion}}`.
//
"tagName": "v1.0.0",
// The tag to compare against the release tag. Is used to fetch all commits between those tags.
// May define a `JRELEASER_PREVIOUS_TAG_NAME` environment variable instead.
// If left unspecified, will use the previous logical tag of `tagName`.
//
"previousTagName": "v0.9.0",
// The name of the release.
// May define a `JRELEASER_RELEASE_NAME` environment variable instead.
// If left unspecified, will use `Release {{tagName}}`.
//
"releaseName": "Release v1.0.0",
// Drops and creates an existing release with matching tag.
// May define a `JRELEASER_OVERWRITE` environment variable instead.
// Defaults to `false`.
//
"overwrite": true,
// Skips creating a tag.
// Useful when the tag was created externally.
// May define a `JRELEASER_SKIP_TAG` environment variable instead.
// Defaults to `false`.
//
"skipTag": false,
// Skips creating a release.
// Useful when release assets will be handled with an uploader.
// May define a `JRELEASER_SKIP_RELEASE` environment variable instead.
// Defaults to `false`.
//
"skipRelease": false,
// Signs commits with the configured credentials.
// The Signing section must be configured as well.
// Defaults to `false`.
//
"sign": false,
// The target branch to use.
// May define a `JRELEASER_BRANCH` environment variable instead.
// Defaults to the branch pointed by HEAD.
//
"branch": "main",
// Git author used to commit to the repository.
//
"commitAuthor": {
// Name used when authoring commits.
// Defaults to `jreleaserbot`.
//
"name": "jreleaserbot",
// E-mail used when authoring commits.
// Defaults to `jreleaser@kordamp.org`.
//
"email": "jreleaser@kordamp.org"
},
// Changelog customization.
//
"changelog": {
// Disables or enables the changelog.
// defaults to `true`.
//
"enabled": true,
// Sorts commits in ascending (oldest first) or descending (newer first).
// Valid values are: `ASC`, `DESC`.
// Defaults to `DESC`.
//
"sort": "DESC",
// Path to an external file that contains the changelog, read as is.
// May be a relative path to the configuration file or an absolute path.
// If unspecified, JReleaser will automatically calculate the changelog.
//
"external": "path/to/changelog.md",
// Create explicit markdown links for commit hashes.
// Defaults to `false`.
//
"links": false,
// Enables or disables formatting options.
// Valid values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
// Defaults to `NEVER`.
//
"formatted": "ALWAYS",
// Preconfigured changelog options.
// Valid values are [`gitmoji`, `conventional-commits`].
// Requires `formatted` to be enabled.
// Defaults to empty.
//
"preset": "gitmoji",
// The template to use for each change.
// Defaults to `- {{commitShortHash}} {{commitTitle}} ({{commitAuthor}})`.
//
"format": "- {{commitShortHash}} {{commitTitle}}",
// The template to use for the whole changelog.
// Defaults is shown.
//
"content": "#Changelog\n\n{{changelogChanges}}\n{{changelogContributors}}",
// Path to a template file that defines the contents.
// Review the available Name Templates.
// Defaults to `src/jreleaser/templates/changelog.tpl`.
//
"contentTemplate": "path/to/template/changelog.tpl",
//
"contributors": {
// Enables the contributors block.
// Defaults to `true`.
//
"enabled": true,
// The template to use for each contributor.
// Defaults to `{{contributorName}}`.
//
"format": "- {{contributorName}} ({{contributorUsernameAsLink}})"
},
//
"hide": {
// Hide uncategorized commits.
// Defaults to `false`.
//
"uncategorized": true,
// Hide matching categories.
// Entries must exactly match category keys defined below.
// Defaults to empty.
//
"categories": [
"merge"
],
// Hide matching contributor names.
// Value may be plain text or regex.
// Defaults to empty.
//
"contributors": [
"[bot]"
]
},
// A list of labels to be included.
// Only changes matching this list will be included.
// Defaults to empty.
//
"includeLabels": [
"issue"
],
// A list of labels to be excluded.
// Changes matching this list will be excluded.
// Defaults to empty.
//
"excludeLabels": [
"issue"
],
// Defines rules that apply labels to changes.
// Matchers are evaluated independently; the label will
// be set if at least one of the matchers meets the criteria.
//
"labelers": [
{
// The label to be applied.
//
"label": "issue",
// Matches the text of the first commit line.
// Value may be plain text or regex.
// Use `regex:` as prefix to indicate a regex.
//
"title": "regex:fix:",
// Matches the full text of the commit.
// Value may be plain text or regex.
// Use `regex:` as prefix to indicate a regex.
//
"body": "Fixes #",
// Priority when sorting.
// Defaults to `null`
//
"order": 1
}
],
// Groups changes by category.
// Defaults are shown.
//
"categories": [
{
// Used for rendering
"title": "🚀 Features",
// Used for identifying the category
"key": "features",
"labels": [
"feature",
"enhancement"
],
"oder: 1
},
{
"title": "🐛 Bug Fixes",
"key": "fixes",
// You may override the format per category.
"format": "- {{commitShortHash}} {{commitBody}}",
"labels": [
"bug",
"fix"
],
"order": 2
}
],
// Defines rules for replacing the generated content.
// Each replacer is applied in order.
//
"replacers": [
{
"search": "\[chore\]\s",
"replace": ""
},
{
"search": "/CVE-(\d{4})-(\d+)/g",
"replace": "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-$1-$2"
}
]
},
}
}
}
<jreleaser>
<!--
<span class="icon"><i class="fa fa-exclamation-triangle"></i></span>
-->
<release>
<!--
Repo in which the release will be created.
<span class="icon"><i class="fa fa-exclamation-triangle"></i></span>
-->
<generic>
<!--
Disables or enables publication to Generic.
defaults to `true`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<enabled>true</enabled>
<!--
Defines the connection timeout in seconds.
Defaults to `20`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<connectTimeout>20</connectTimeout>
<!--
Defines the read timeout in seconds.
Defaults to `60`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<readTimeout>60</readTimeout>
<!--
The user or organization that owns the repository.
<span class="icon"><i class="fa fa-exclamation-triangle"></i></span>
-->
<owner>duke</owner>
<!--
The name of the repository.
If unspecified, will use ${project.name}.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<name>app</name>
<!--
The Generic host url.
<span class="icon"><i class="fa fa-exclamation-triangle"></i></span>
-->
<host><a href="https://my.githost.com" class="bare">https://my.githost.com</a></host>
<!--
Username used for authoring commits. Must have write access to the repository.
If left unspecified, the `JRELEASER_GENERIC_USERNAME`
environment variable must be defined.
Defaults to the repository's owner.
<span class="icon"><i class="fa fa-exclamation-triangle"></i></span> <span class="icon"><i class="fa fa-eye-slash"></i></span>
-->
<username>duke</username>
<!--
Password or OAuth token with write access to the repository.
If left unspecified, the `JRELEASER_GENERIC_TOKEN`
environment variable must be defined.
<span class="icon"><i class="fa fa-exclamation-triangle"></i></span> <span class="icon"><i class="fa fa-eye-slash"></i></span>
-->
<token>__DO_NOT_SET_HERE__</token>
<!--
The tag associated with the release.
May define a `JRELEASER_TAG_NAME` environment variable instead.
If left unspecified, will use `v{{projectVersion}}`.
<span class="icon"><i class="fa fa-dot-circle"></i></span> <span class="icon"><i class="fa fa-eye-slash"></i></span> <span class="icon"><i class="fa fa-file-alt"></i></span>
-->
<tagName>v1.0.0</tagName>
<!--
The tag to compare against the release tag. Is used to fetch all commits between those tags.
May define a `JRELEASER_PREVIOUS_TAG_NAME` environment variable instead.
If left unspecified, will use the previous logical tag of `tagName`.
<span class="icon"><i class="fa fa-dot-circle"></i></span> <span class="icon"><i class="fa fa-eye-slash"></i></span>
-->
<previousTagName>v0.9.0</previousTagName>
<!--
The name of the release.
May define a `JRELEASER_RELEASE_NAME` environment variable instead.
If left unspecified, will use `Release {{tagName}}`.
<span class="icon"><i class="fa fa-dot-circle"></i></span> <span class="icon"><i class="fa fa-eye-slash"></i></span> <span class="icon"><i class="fa fa-file-alt"></i></span>
-->
<releaseName>Release v1.0.0</releaseName>
<!--
Drops and creates an existing release with matching tag.
May define a `JRELEASER_OVERWRITE` environment variable instead.
Defaults to `false`.
<span class="icon"><i class="fa fa-dot-circle"></i></span> <span class="icon"><i class="fa fa-eye-slash"></i></span>
-->
<overwrite>true</overwrite>
<!--
Skips creating a tag.
Useful when the tag was created externally.
May define a `JRELEASER_SKIP_TAG` environment variable instead.
Defaults to `false`.
<span class="icon"><i class="fa fa-dot-circle"></i></span> <span class="icon"><i class="fa fa-eye-slash"></i></span>
-->
<skipTag>false</skipTag>
<!--
Skips creating a release.
Useful when release assets will be handled with an uploader.
May define a `JRELEASER_SKIP_RELEASE` environment variable instead.
Defaults to `false`.
<span class="icon"><i class="fa fa-dot-circle"></i></span> <span class="icon"><i class="fa fa-eye-slash"></i></span>
-->
<skipRelease>false</skipRelease>
<!--
Signs commits with the configured credentials.
The <a href="../signing.html" class="xref page">Signing</a> section must be configured as well.
Defaults to `false`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<sign>false</sign>
<!--
The target branch to use.
May define a `JRELEASER_BRANCH` environment variable instead.
Defaults to the branch pointed by HEAD.
<span class="icon"><i class="fa fa-dot-circle"></i></span> <span class="icon"><i class="fa fa-eye-slash"></i></span>
-->
<branch>main</branch>
<!--
Git author used to commit to the repository.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<commitAuthor>
<!--
Name used when authoring commits.
Defaults to `jreleaserbot`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<name>jreleaserbot</name>
<!--
E-mail used when authoring commits.
Defaults to `jreleaser@kordamp.org`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<email>jreleaser@kordamp.org</email>
</commitAuthor>
<!--
Changelog customization.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<changelog>
<!--
Disables or enables the changelog.
defaults to `true`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<enabled>true</enabled>
<!--
Sorts commits in ascending (oldest first) or descending (newer first).
Valid values are>`ASC`, `DESC`.
Defaults to `DESC`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<sort>DESC</sort>
<!--
Path to an external file that contains the changelog, read as is.
May be a relative path to the configuration file or an absolute path.
If unspecified, JReleaser will automatically calculate the changelog.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<external>path/to/changelog.md</external>
<!--
Create explicit markdown links for commit hashes.
Defaults to `false`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<links>false</links>
<!--
Enables or disables formatting options.
Valid values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
Defaults to `NEVER`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<formatted>ALWAYS</formatted>
<!--
Preconfigured changelog options.
Valid values are [`gitmoji`, `conventional-commits`].
Requires `formatted` to be enabled.
Defaults to empty.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<preset>gitmoji</preset>
<!--
The template to use for each change.
Defaults to `- {{commitShortHash}} {{commitTitle}} ({{commitAuthor}})`.
<span class="icon"><i class="fa fa-dot-circle"></i></span> <span class="icon"><i class="fa fa-file-alt"></i></span>
-->
<format>- {{commitShortHash}} {{commitTitle}}</format>
<!--
The template to use for the whole changelog.
Defaults is shown.
<span class="icon"><i class="fa fa-dot-circle"></i></span> <span class="icon"><i class="fa fa-file-alt"></i></span>
-->
<content>
# Changelog
{{changelogChanges}}
{{changelogContributors}}
</content>
<!--
Path to a template file that defines the contents.
Review the available <a href="../name-templates.html" class="xref page">Name Templates</a>.
Defaults to `src/jreleaser/templates/changelog.tpl`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<contentTemplate>path/to/template/changelog.tpl</contentTemplate>
<!--
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<contributors>
<!--
Enables the contributors block.
Defaults to `true`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<enabled>true</enabled>
<!--
The template to use for each contributor.
Defaults to `{{contributorName}}`.
<span class="icon"><i class="fa fa-dot-circle"></i></span> <span class="icon"><i class="fa fa-file-alt"></i></span>
-->
<format>- {{contributorName}} ({{contributorUsernameAsLink}})</format>
</contributors>
<!--
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<hide>
<!--
Hide uncategorized commits.
Defaults to `false`.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<uncategorized>true</uncategorized>
<!--
Hide matching categories.
Entries must exactly match category keys defined below.
Defaults to empty.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<categories>
<category>merge</category>
</categories>
<!--
Hide matching contributor names.
Value may be plain text or regex.
Defaults to empty.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<contributors>
<contributor>[bot]</contributor>
</contributors>
</hide>
<!--
A list of labels to be included.
Only changes matching this list will be included.
Defaults to empty.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<includeLabels>
<includeLabel>issue</includeLabel>
</includeLabels>
<!--
A list of labels to be excluded.
Changes matching this list will be excluded.
Defaults to empty.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<excludeLabels>
<excludeLabel>issue</excludeLabel>
</excludeLabels>
<!--
Defines rules that apply labels to changes.
Matchers are evaluated independently; the label will
be set if at least one of the matchers meets the criteria.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<labelers>
<labeler>
<!--
The label to be applied.
<span class="icon"><i class="fa fa-exclamation-triangle"></i></span>
-->
<label>issue</label>
<!--
Matches the text of the first commit line.
Value may be plain text or regex.
Use `regex:` as prefix to indicate a regex.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<title>regex:fix:</title>
<!--
Matches the full text of the commit.
Value may be plain text or regex.
Use `regex:` as prefix to indicate a regex.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<body>Fixes #</body>
<!--
Priority when sorting.
Defaults to `null`
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<order>1</order>
</labeler>
</labelers>
<!--
Groups changes by category.
Defaults are shown.
<span class="icon"><i class="fa fa-dot-circle"></i></span>
-->
<categories>
<category>
<!-- Used for rendering -->
<title>🚀 Features</title>
<!-- Used for identifying the category -->
<key>features</key>
<labels>feature,enhancement</labels>
<order>1</order>
</category>
<category>
<title>🐛 Bug Fixes</title>
<key>fixes</key>
<!--
You may override the format per category.
-->
<format>- {{commitShortHash}} {{commitBody}}</format>
<labels>bug,fix</labels>
<order>2</order>
</category>
</categories>
<!--
Defines rules for replacing the generated content.
Each replacer is applied in order.
<span class="icon"><i class="fa fa-dot-circle"></i></span> <span class="icon"><i class="fa fa-file-alt"></i></span>
-->
<replacers>
<replacer>
<search>\[chore\]\s</search>
</replacer>
<replacer>
<search>/CVE-(\d{4})-(\d+)/g</search>
<replace>https: cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-$1-$2</replace>
</replacer>
</replacers>
</changelog>
</generic>
</release>
</jreleaser>
jreleaser {
//
release {
// Repo in which the release will be created.
//
generic {
// Disables or enables publication to Generic.
// defaults to `true`.
//
enabled = true
// Defines the connection timeout in seconds.
// Defaults to `20`.
//
connectTimeout = 20
// Defines the read timeout in seconds.
// Defaults to `60`.
//
readTimeout = 60
// The user or organization that owns the repository.
//
owner = 'duke'
// The name of the repository.
// If unspecified, will use ${project.name}.
//
name = 'app'
// The Generic host url.
//
host = 'https://my.githost.com'
// Username used for authoring commits. Must have write access to the repository.
// If left unspecified, the `JRELEASER_GENERIC_USERNAME`
// environment variable must be defined.
// Defaults to the repository's owner.
//
username = 'duke'
// Password or OAuth token with write access to the repository.
// If left unspecified, the `JRELEASER_GENERIC_TOKEN`
// environment variable must be defined.
//
token = '__DO_NOT_SET_HERE__'
// The tag associated with the release.
// May define a `JRELEASER_TAG_NAME` environment variable instead.
// If left unspecified, will use `v{{projectVersion}}`.
//
tagName = 'v1.0.0'
// The tag to compare against the release tag. Is used to fetch all commits between those tags.
// May define a `JRELEASER_PREVIOUS_TAG_NAME` environment variable instead.
// If left unspecified, will use the previous logical tag of `tagName`.
//
previousTagName = 'v0.9.0'
// The name of the release.
// May define a `JRELEASER_RELEASE_NAME` environment variable instead.
// If left unspecified, will use `Release {{tagName}}`.
//
releaseName = 'Release v1.0.0'
// Drops and creates an existing release with matching tag.
// May define a `JRELEASER_OVERWRITE` environment variable instead.
// Defaults to `false`.
//
overwrite = true
// Skips creating a tag.
// Useful when the tag was created externally.
// May define a `JRELEASER_SKIP_TAG` environment variable instead.
// Defaults to `false`.
//
skipTag = false
// Skips creating a release.
// Useful when release assets will be handled with an uploader.
// May define a `JRELEASER_SKIP_RELEASE` environment variable instead.
// Defaults to `false`.
//
skipRelease = false
// Signs commits with the configured credentials.
// The Signing section must be configured as well.
// Defaults to `false`.
//
sign = false
// The target branch to use.
// May define a `JRELEASER_BRANCH` environment variable instead.
// Defaults to the branch pointed by HEAD.
//
branch = 'main'
// Git author used to commit to the repository.
//
commitAuthor {
// Name used when authoring commits.
// Defaults to `jreleaserbot`.
//
name = 'jreleaserbot'
// E-mail used when authoring commits.
// Defaults to `jreleaser@kordamp.org`.
//
email = 'jreleaser@kordamp.org'
}
// Changelog customization.
//
changelog {
// Disables or enables the changelog.
// defaults to `true`.
//
enabled = true
// Sorts commits in ascending (oldest first) or descending (newer first).
// Valid values are = `ASC`, `DESC`.
// Defaults to `DESC`.
//
sort = 'DESC'
// Path to an external file that contains the changelog, read as is.
// May be a relative path to the configuration file or an absolute path.
// If unspecified, JReleaser will automatically calculate the changelog.
//
external = 'path/to/changelog.md'
// Create explicit markdown links for commit hashes.
// Defaults to `false`.
//
links = false
// Enables or disables formatting options.
// Valid values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
// Defaults to `NEVER`.
//
formatted = 'ALWAYS'
// Preconfigured changelog options.
// Valid values are [`gitmoji`, `conventional-commits`].
// Requires `formatted` to be enabled.
// Defaults to empty.
//
preset = 'gitmoji'
// The template to use for each change.
// Defaults to `- {{commitShortHash}} {{commitTitle}} ({{commitAuthor}})`.
//
format = '- {{commitShortHash}} {{commitTitle}}'
// The template to use for the whole changelog.
// Defaults is shown.
//
content = '#Changelog\n\n{{changelogChanges}}\n{{changelogContributors}}'
// Path to a template file that defines the contents.
// Review the available Name Templates.
// Defaults to `src/jreleaser/templates/changelog.tpl`.
//
contentTemplate = 'path/to/template/changelog.tpl'
//
contributors {
// Enables the contributors block.
// Defaults to `true`.
//
enabled = true
// The template to use for each contributor.
// Defaults to `{{contributorName}}`.
//
format = '- {{contributorName}} ({{contributorUsernameAsLink}})'
}
//
hide {
// Hide uncategorized commits.
// Defaults to `false`.
//
uncategorized = true
// Hide matching categories.
// Entries must exactly match category keys defined below.
// Defaults to empty.
//
categories = ['merge']
// Hide matching contributor names.
// Value may be plain text or regex.
// Defaults to empty.
//
contributors = ['[bot]']
}
// A list of labels to be included.
// Only changes matching this list will be included.
// Defaults to empty.
//
includeLabels = [
'issue'
]
// A list of labels to be excluded.
// Changes matching this list will be excluded.
// Defaults to empty.
//
excludeLabels = [
'issue'
]
// Defines rules that apply labels to changes.
// Matchers are evaluated independently; the label will
// be set if at least one of the matchers meets the criteria.
//
labeler {
// The label to be applied.
//
label = 'issue'
// Matches the text of the first commit line.
// Value may be plain text or regex.
// Use `regex:` as prefix to indicate a regex.
//
title = 'regex:fix:'
// Matches the full text of the commit.
// Value may be plain text or regex.
// Use `regex:` as prefix to indicate a regex.
//
body = 'Fixes #'
// Priority when sorting.
// Defaults to `null`
//
order = 1
}
// Groups changes by category.
// Defaults are shown.
//
category {
// Used for rendering
title = '🚀 Features'
// Used for identifying the category
key = 'features'
labels = [
'feature',
'enhancement'
]
order = 1
}
category {
title = '🐛 Bug Fixes'
key = 'fixes'
// You may override the format per category.
format '- {{commitShortHash}} {{commitBody}}'
labels = [
'bug',
'fix'
]
order = 2
}
// Defines rules for replacing the generated content.
// Each replacer is applied in order.
//
replacer {
search = '\[chore\]\s'
replace = ''
}
replacer {
search = '/CVE-(\d{4})-(\d+)/g'
replace = 'https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-$1-$2'
}
}
}
}
}