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 notes -c <config.json>
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" : ... }, "ReleaseNotesWriter" : <notes writer> } } }
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