# 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
Release files for release-notes-generator 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| release_notes_generator-1.2.1.tar.gz | 6.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| release_notes_generator-1.2.1-py2-none-any.whl | Python 2 | none | any | Details |
Total release size: 14.0 kB
Release files / release_notes_generator-1.2.1.tar.gz
| Download URL | release_notes_generator-1.2.1.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3334fddd09395071192c69c489f4d85bd205f2eed7a13980627c578cfbd5e430
|
|
BLAKE2b-256 checksum How to use checksums |
9accdd8b6aaf0e2103e08d77f72d6e4d58c3fa85f455d8a9d0f09d8ddd0e5c2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.10.0 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/2.7.14
|
Release files / release_notes_generator-1.2.1-py2-none-any.whl
| Download URL | release_notes_generator-1.2.1-py2-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 2 |
|
SHA-256 checksum How to use checksums |
967702e1c34996d05abf498c6403da96a8458ea7221f92037dc0e39f9c365356
|
|
BLAKE2b-256 checksum How to use checksums |
4f15392adfa94bba00232896af579f4f7000df2626b86cb3841285fd9578a596
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.10.0 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/2.7.14
|