Skip to main content

Release exporter for GitHub and GitLab

Project description

Release Exporter

Banner

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
    --universal TEXT  Create a global settings file. Defaults to True.
    --help            Show this message and exit.

Commands:
    all       Creates change log for all formats.
    init      Creates .rex file.
    json      Creates JSON file.
    markdown  Creates markdown file.
    rst       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: 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>.

Reference

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

release_exporter-1.1.2.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

release_exporter-1.1.2-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file release_exporter-1.1.2.tar.gz.

File metadata

  • Download URL: release_exporter-1.1.2.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.5 Linux/6.2.0-36-generic

File hashes

Hashes for release_exporter-1.1.2.tar.gz
Algorithm Hash digest
SHA256 204233bd4af48d4b5d3ccb7d80e915b009b11ffe2d5b1aa13d2a56b53bcd18d6
MD5 ca7253b7e142feb2244aeaf5d2ab8e4b
BLAKE2b-256 51a8bf2f41f17efe3c456cd8813e8dfb59c7b1abd27dec02a7c6fb296ca824e3

See more details on using hashes here.

File details

Details for the file release_exporter-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: release_exporter-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.5 Linux/6.2.0-36-generic

File hashes

Hashes for release_exporter-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 74b4a6b57fa8e32e9426474b7f48329b7396317a00364a20c18060b0f37163e4
MD5 8b144cd28c6563b7a4d94712bebc3d4b
BLAKE2b-256 7ecfd03fa544ccb792d590d313ce74c75775a2bf51adcab0317eae471dcecaba

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page