Metadata-Version: 1.1
Name: release-notes-generator
Version: 1.2.1
Summary: A Python package that parses a specific PR template given a list of PRs and generates release notes form them.
Home-page: https://github.counsyl.com/lims/release_note_generator
Author: mmentele
Author-email: mmentele@counsyl.com
License: MIT
Description: # Setup
        `pip install release-notes-generator`
        
        This will provide a self-documenting command line tool under the name:
        `release_notes`
        
        You can ask for help as you would expect: `release_notes --help`
        
        You will need to set your github access token to use it:
        `export GITHUB_API_TOKEN = <token>`
        
        # Usage
        You can fetch release notes like: `release_notes getfor auto_pipeline`
        
        By default this will look for an existing release and try to parse out the pr numbers from it's description. Alternatively, you can use a file:
        `release_notes getfor auto_pipeline --source pr_numbers.txt`
        
        Either way will output to the console release notes of the following form:
        ```
        h2. SOME TITLE
        CHANGE_TYPE: UI
        DESCRIPTION: Some descriptions
        JIRA TICKET: LIMS-123
        PULL REQUEST: 123
        RISK: LOW
        RISK DESCRIPTION: Some description
        ```
        
        Optionally redirect to a file:
        `release_notes getfor auto_pipeline > release_notes.txt`
        
        # How this Works
        You can look at `cli.py` for an example of how to use this script.
        
        Essentially, `cli.py` runs the following where the token variable is looking for `GITHUB_API_TOKEN` to be set.
        
        ```python
        ReleaseNoteGenerator(token, repository_name=repository_name).release_notes()
        ReleaseNotesFormatter.output(notes)
        ```
        
        `ReleaseNoteGenerator` parses the PR numbers from the latest release, if no release exists it will return nothing. It then passes the PR numbers to the pr fetcher which grabs the descriptions. A good entry point it to look at `ReleaseNoteGenerator.release_notes`
        
        # Future Work
        This is a quick and dirty initial implementation and we should expand this for easy reuse.
        
        [Complete] Iteration 1: Packaging and Interface Features
        - command line interaction to run with a repository_name arg
        ```
        # print output to the screen
        release_notes auto_pipeline --print
        ```
        - packaging for easy pip install and use across LIMS projects (ie. use in individual release scripts)
        - document API
        
        Iteration 2: Granularity and Robustness Features
        - expose the PRFetcher so that we are not coupled to fetching the initial list purely from
        - add ability to diff the latest release and previous release and auto generate pr numbers (is this in the ARMS release script?)
        - auto generate tag and release adding the PRs to the release notes
        
        Other Features:
        - tests
        - auto ignore markdown comments
        - filter out heading fields in the description and only parse the one line description
        - include full pull request links
        
Keywords: releases notes
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
