The tool provides a way of customizing the process of generating the Release Notes based on:
- Issue tracking identifiers in commit messages
- Tags on commit
- Release artifacts repository
To run the tool, call:
& just_release --config <config.json> notes
Configuration file is in flux. For now it is a json looking something like this:
{
"pathToSave" : <output path>,
"packages" : {
<package name> : {
"Issues" : [{
"Provider" : <issues provider>,
"HtmlUrl" : ...,
"Authorization" : ...,
"Url" : ...,
"WebImagesPath" : ...
"TicketRegex" : ...
}],
"Releases" : {
"Provider" : <releases provider>,
"Repository" : ...,
"ArtifactUri" : ...,
"StorageUrl" : ...
},
"Source" : {
"Provider" : <source provider>
"RepositoryUrl" : ...
"Remote" : ...
"Branch" : ...
"VersionTagRegex" : "^([0-9]+\\.[0-9]+\\.[0-9]+)$"
},
"ReleaseNotesWriter" : [{
"Provider" : ...,
"PathToSave" : ...
}]
}
}
}
where
notes writer is either:
- HtmlWriter
- MarkdownWriter
releases provider is either:
- Artifactory
- GitHubReleases
issues provider is either:
- JiraIssues
- GitHubIssues
It is also possible to specify an array of issue providers, then all of them will be used to retireve information about tickets.
source provider is currently only:
- GitRepo
You can also use environment variables using the following syntax:
{
...
"key" : "aaa ENV[xxx] bbb"
...
}
In the above example, ENV[xxx] will be replaced with the value of 'xxx' variable