Release exporter for GitHub and GitLab.
Project description
Blog: https://www.gollahalli.com/blog/export-your-github-and-gitlab-releases-as-a-changelog/
This CLI exports your project releases to a markdown based on keep a changelog and markdownlint and JSON, it currently supports GitHub and GitLab.
Install
pip install release-exporter
Or download this repository and type in the following in your terminal/cmd
python setup.py install
Usage
In your terminal/cmd, change to the folder where your repository is located and do the following:
rex --token <your token> markdown
That’s it. You should see a CHANGELOG.md in your folder.
Advance Usage
Release exporter has the following options
Usage: rex [OPTIONS] COMMAND [ARGS]... Options: --token TEXT Token number if its a private repository. --url TEXT URL of your repository. This is optional if your current directory has .git folder with remote url. --location TEXT Local location of your repository. --version --help Show this message and exit. Commands: json Creates JSON file. markdown Creates markdown file. rest Creates reStructuredText file.
If you don’t have a repository on your computer, but you still want to generate a change log you can manually add your repository URL as follows:
rex markdown --token <your token> --url <your url>
If you have your repository in a different location and you are lazy (like me) to change into that directory, get the absolute path of your repository add it to the --location <location>.
rex --token <your token> --location <absolute path>
You can also export your releases to JSON file by just replacing markdown with json. The output looks something like this:
{ "repositoryName": "release-exporter", "provider": "github.com", "owner": "akshaybabloo", "repoUrl": "https://github.com/akshaybabloo/release-exporter", "totalTags": 2, "data": [ { "tagName": "Unreleased", "description": "", "createdAt": "", "compareUrl": "https://github.com/akshaybabloo/release-exporter/compare/1.0.1...HEAD" }, { "tagName": "v1.0.1", "description": "### Added\n- Unreleased tag added to the template and GitHub\n- Unreleased tag added to GitHub\n\n### Fixed\n- Tag missing in GitHub JSON fixed\n- Tag missing in GitLab JSON fixed", "createdAt": "2018-01-16", "compareUrl": "https://github.com/akshaybabloo/release-exporter/compare/v1.0...v1.0.1" }, { "tagName": "v1.0", "description": "Initial release.", "createdAt": "2018-01-15", "compareUrl": null } ] }
Note that the Unreleased tag is not counted in totalTags.
Problems you might encounter
If you are using rex on your repository folder or if you are using --location you might get an error saying that there are duplicate keys, this is because sometimes the file .git/config has more than one [remote "origin"]. In such case, it is best to give the URL of your repository by giving --url <repo URL>.
Customising the Output
Coming soon.
Reference
- Markdown logo from https://github.com/dcurtis/markdown-mark/
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size release_exporter-1.0.6-py3-none-any.whl (20.1 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size release-exporter-1.0.6.tar.gz (14.6 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for release_exporter-1.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1733a0a6d6296d336cbab27b45216bfe2bca6a521ce7da2ae8629199a40cea80 |
|
MD5 | 932e9326eb9735f39303270234fbf441 |
|
BLAKE2-256 | 0acef95b5a0acd2b3a054a5939392008f0cb4cbb7382906c54460f2d98553a2c |