Changelog template reference
For a detailed guide on how to write a template changelog refer to tera's documentation.
You can also take a look at the built-in templates in cocogitto repository.
Context
Release
commits
:- Type:
Array<Commit>
- Description: commits contained in the release
- Nullable:
false
- Type:
version
:- Type:
GitRef
- Description: tag name or/and git oid of the current release tip
- Nullable:
false
- Type:
from
- Type:
GitRef
- Description: tag name or/and git oid of the commit preceding the release
- Nullable:
false
- Type:
date
- Type:
Date
- Description: date of the release
- Nullable:
false
- Type:
Commit
id
:- Type:
String
,SHA-1
- Description: commit
SHA-1
- Nullable:
false
- Type:
author
:- Type:
String
- Description: the name of the commit author on the remote platform
- Nullable:
true
- Type:
signature
:- Type:
String
- Description: the git signature of the commit author
- Nullable:
false
- Type:
type
:- Type:
String
- Description: the conventional commit type of the commit
- Nullable:
false
- Type:
date
:- Type:
Date
- Description: the date of the commit
- Nullable:
false
- Type:
scope
:- Type:
String
- Description: the scope of the commit
- Nullable:
true
- Type:
summary
:- Type:
String
- Description: the conventional commit message summary
- Nullable:
false
- Type:
body
:- Type:
String
- Description: the conventional commit message body
- Nullable:
true
- Type:
breaking_change
:- Type:
boolean
- Description: is the commit marked as a breaking change
- Nullable:
false
- Type:
footer
:- Type:
Array<Footer>
- Description: the conventional commit footers
- Nullable:
false
- Type:
GitRef
tag
:- Type:
String
- Description: a SemVer tag name, with an optional
tag_prefix
.null
if the version is pointing to unreleased changes. - Nullable:
true
- Type:
id
:- Type:
Sting
,SHA-1
- Description: the id of the latest commit in the release. This can be
null
only when usingcog bump
, because it generates a changelog before creating the target version. - Nullable:
true
- Type:
Footer
token
:- Type:
String
- Description: the footer token
- Nullable:
false
- Type:
content
:- Type:
String
- Description: the footer content
- Nullable:
false
- Type:
Remote
platform
:- Type:
String
- Description: url to the configured git platform in the form
https://{remote}
( see: Config -> Changelog -> Remote) - Nullable:
true
- Type:
owner
:- Type:
String
- Description: name of the repository owner (see: Config -> Changelog -> Owner)
- Nullable:
true
- Type:
repository_url
:false
- Type:
String
- Description: url to the repository in the form
https://{remote}/{owner}/{repository}
( see: Config -> Changelog -> repository) - Nullable:
true
- Type:
Filters
In addition to the tera built-in filters you can use the following:
unscoped
- Description: filter unscoped commits from releases commits. Example:
- Example:
{% for commit in commits | unscoped %} {% if commit.author %} {% set author = "@" ~ commit.author %} {% else %} {% set author = commit.signature %} {% endif %} - {{ commit.id }} - {{ commit.summary }} - {{ author }} {% endfor %}
upper_first
- Description: capitalize the first letter of a string
- Example:
{% for type, typed_commits in commits | sort(attribute="type")| group_by(attribute="type") %} #### {{ type | upper_first }} {% endfor %}