JustReleaseNotes

Release notes generator package


License
Apache-2.0
Install
pip install JustReleaseNotes==0.1.12

Documentation

Code Climate Code Climate Coveralls PyPI PyPI

Just Release Notes

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

Running the tool

Usage

To run the tool, call:

& just_release --config <config.json> notes

Configuration

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]+)$",
                "OldestCommitToProcess" : <commit hexsha>,
                "ExcludeCommitsWithMessageMatchingRegex" : <regex>
            },
            "ReleaseNotesWriter" : [{
                "Provider" : <notes writer provider>
                "PathToSave" : ...
            }]
        }
    }
}

where

notes writer provider is either:

  • HtmlWriter
  • MarkdownWriter
  • GitHubMarkdownWriter
  • StashMarkdownWriter
  • JsonWriter

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 retrieve 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