A Python package that parses a specific PR template given a list of PRs and generates release notes form them.
Project description
# Usage
Modify the repository_name on line 189 to be one of the commented options (could be any LIMS repository though) and 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
```
You will also need to set your github access token:
`export GITHUB_API_TOKEN = <token>`
Then run the script:
`python cli.py`
Optionally redirect to a file:
`python cli.py > release_notes.txt`
# How this Works
You can look at `cli.py` for an example of how to use this script. The name is a bit misleading as it isn't yet a cli app at all (yet).
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.
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
```
- test suite
- 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:
- auto ignore markdown comments
- filter out heading fields in the description and only parse the one line description
- include full pull request links
Modify the repository_name on line 189 to be one of the commented options (could be any LIMS repository though) and 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
```
You will also need to set your github access token:
`export GITHUB_API_TOKEN = <token>`
Then run the script:
`python cli.py`
Optionally redirect to a file:
`python cli.py > release_notes.txt`
# How this Works
You can look at `cli.py` for an example of how to use this script. The name is a bit misleading as it isn't yet a cli app at all (yet).
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.
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
```
- test suite
- 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:
- auto ignore markdown comments
- filter out heading fields in the description and only parse the one line description
- include full pull request links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file release_notes_generator-1.0.1.tar.gz.
File metadata
- Download URL: release_notes_generator-1.0.1.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c13a6d00c5def736495601c81e6dc9510b0b601c68f277d664d409bab4b39ef7
|
|
| MD5 |
9f0aab7ab0dde40cf149630bd92d39b1
|
|
| BLAKE2b-256 |
841600d609cd4342809b63d4a0a5e5b58e0868c136aa7c531ec604b507bb2ffb
|
File details
Details for the file release_notes_generator-1.0.1-py2-none-any.whl.
File metadata
- Download URL: release_notes_generator-1.0.1-py2-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
363597e633d705c1c302c7a7bb792d16b9f85ead660e59122d4e1e9251b8c30c
|
|
| MD5 |
8fe29e0ceabd889f7638d9d6fef9a124
|
|
| BLAKE2b-256 |
767a0f1a00d899bd505ec0437b4041e7b8279f9f3f0a9fac7c79eb91e002ea47
|