-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Adobe Changelog Generator is the core package that is used to generate a changelog file.
aio-cli-plugin-changelog
can read the configuration from the following locations:
- Local machine (Required to provide a link to the configuration when running the command).
Example:aio changelog:generate -c ./config.json
- AIO CLI Config (aio-cli-plugin-config). You will need to set your config under
changelog
namespace in AIO Config.
Example:aio config set CHANGELOG -f ./config.json
- Project repository.
The config should be committed to the.github
folder with thechangelog.json
name.
Make sure that provided Github token has read access to the repository!
Example: .github/changelog.json
The configuration from the local machine or from AIO Config will be merged with the remote configuration stored in the project repository.
The application will use the merged configuration to generate a changelog.
Merge prioritization is set up in favor of local machine/AIO configuration. It means that in case when local machine/AIO configuration declares the same option as remote config, the option value will be overridden by the local machine/AIO configuration.
Example:
Local Machine / AIO Config | Remote Project Repository | Result (merged) Config file |
---|---|---|
"adobe/aio-cli-plugin-changelog:master": { "output": { "template": "pullrequest", "filename": "custom.md" } } |
"adobe/aio-cli-plugin-changelog:master": { "output": { "template": "issue", "filename": "changelog.md", "strategy": "merge" } } |
"adobe/aio-cli-plugin-changelog:master": { "output": { "template": "pullrequest", "filename": "custom.md", "strategy": "merge" } } |
Option | Is Required | Default | Nested options | Example | Description |
---|---|---|---|---|---|
<organization>/<repository>:<branch> |
required | (see namespace) | - | adobe/aio-cli-plugin-changelog:master |
A combination of organization, repository, and branch is named namespace. Thus, the config can contain multiple namespaces. The tool asynchronously generates a changelog for each namespace |
combine |
false | - | releaseLine |
- | Provide a list of related namespaces. For example, if your project consists of multiple repositories and you want to create a changelog which will contain data from all repositories, you should use this option |
releaseLine |
false | see release line | - | - | Define from-to brackets to collect content |
loader |
true | - | see Loader options | - | Responsible for loading pull request or issue data from GitHub |
output |
false | see see Output options | see Output options | - | Output file configuration |
<organization>/<repository>:<branch>
Option | Is Required | Example | Description |
---|---|---|---|
<organization> |
true | adobe |
Project organization |
<repository> |
true | aio-cli-plugin-changelog |
Project repository |
<branch> |
false | master |
Project branch |
<from>..<to>@<version>:<filter>
Option | Default | Value Types | Description |
---|---|---|---|
<from> |
current |
see Release Line Types | Starting point. Example: 1.1..1.3 will include information about 1.1 release. |
<to> |
now |
see Release Line Types | Ending point |
<version> |
patch |
see Version Types | The version for next release |
<filter> |
- | RegExp | Filter RegExp. Use it for excluding some releases |
Option | Avaliable values | Description |
---|---|---|
name |
Loader name | |
config |
see Loader config options | Loader config |
Option | Is Required | Default | Avaliable values | Description |
---|---|---|---|---|
strategy |
false | merge |
see Output strategies list | Responsible for output file |
format |
false | md |
|
Format for output file |
template |
true | - | Template name | |
filename |
true | - | - | Output file name |
path |
false | - | - | Folder path. The result file will be created in the same directory with the config file |
Option | Description |
---|---|
merge |
Merge with an existing file |
create |
Create a new file |
Option | Is Required | Avaliable values | Description |
---|---|---|---|
exclude |
false | Excludes some data based on the defined criteria | |
groupBy |
false | Group the data based on the defined criteria |
See semantic versioning to get more info about possible release types.
Option | Example | Description |
---|---|---|
patch |
1.0.0 -> 1.0.1 |
Increment patch version of the last release |
minor |
1.0.0 -> 1.1.0 |
Increment minor version of the last release |
major |
1.0.0 -> 2.0.0 |
Increment major version of the last release |
custom |
1.2.3-custom |
Custom version |
Option | Example | Description |
---|---|---|
tag |
1.0.0 |
Github tag |
hash |
fd7ebb1d0cd224e0957c035faafdffd9bd2b2b87 |
Github commit hash |
date |
YYYY-MM-DD |
Date in ISO8601 format |
special-words |
see Release Line Special words | The application supports the list of predefined special-words |
Option | Description |
---|---|
now |
Current date and time |
current |
Start date of not released version |
start |
Start date of first stable release |
{
"<organization>/<repository>:<branch>": {
"releaseLine": "<from>..<to>@<version>:<filter>"
"combine": {
"<organization>/<repository>:<branch>": {
"releaseLine": "<from>..<to>@<version>:<filter>"
},
"<organization>/<repository>:<branch>": {
"releaseLine": "<from>..<to>@<version>:<filter>"
}
},
"loader": {
"name": "<loader-name>",
"config": {
"exclude": {
"<filter>": <filter-config>
},
"groupBy": {
"name": <group-name>,
"config": {
<configuration>
}
}
}
}
"output": {
"strategy": "<strategy-type>",
"template": "<template-name>",
"filename": "<file-name>",
"projectPath": "<project-path>"
}
}
}