{"id":15055521,"url":"https://github.com/akshaybabloo/release-exporter","last_synced_at":"2025-08-20T20:32:18.396Z","repository":{"id":37549776,"uuid":"116607442","full_name":"akshaybabloo/release-exporter","owner":"akshaybabloo","description":"Release exporter for GitHub and GitLab","archived":false,"fork":false,"pushed_at":"2025-08-19T00:41:26.000Z","size":922,"stargazers_count":28,"open_issues_count":7,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-08-19T01:29:47.771Z","etag":null,"topics":["changelog-generator","github","gitlab","releases"],"latest_commit_sha":null,"homepage":"https://www.gollahalli.com/blog/export-your-github-and-gitlab-releases-as-a-changelog/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akshaybabloo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.json","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"akshaybabloo"}},"created_at":"2018-01-07T23:32:46.000Z","updated_at":"2025-07-27T19:58:08.000Z","dependencies_parsed_at":"2023-02-09T12:46:10.575Z","dependency_job_id":"e4836d0e-974d-4653-90e3-2375cb11a1b8","html_url":"https://github.com/akshaybabloo/release-exporter","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/akshaybabloo/release-exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akshaybabloo%2Frelease-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akshaybabloo%2Frelease-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akshaybabloo%2Frelease-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akshaybabloo%2Frelease-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akshaybabloo","download_url":"https://codeload.github.com/akshaybabloo/release-exporter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akshaybabloo%2Frelease-exporter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271378680,"owners_count":24749192,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["changelog-generator","github","gitlab","releases"],"created_at":"2024-09-24T21:43:41.378Z","updated_at":"2025-08-20T20:32:18.382Z","avatar_url":"https://github.com/akshaybabloo.png","language":"Python","funding_links":["https://github.com/sponsors/akshaybabloo"],"categories":[],"sub_categories":[],"readme":"# Release Exporter\n\n![Logo](https://raw.githubusercontent.com/akshaybabloo/release-exporter-old/master/assets/logo/logo.png)\n\n**Blog:** [https://www.gollahalli.com/blog/export-your-github-and-gitlab-releases-as-a-changelog/](https://www.gollahalli.com/blog/export-your-github-and-gitlab-releases-as-a-changelog/)\n\nThis CLI exports your project releases to a markdown based on [keep a\nchangelog](http://keepachangelog.com/en/1.0.0/) and\n[markdownlint](https://github.com/DavidAnson/markdownlint) and JSON,\nit currently supports GitHub and GitLab.\n\n## Install\n\n```bash\npip install release-exporter\n```\n\nOr download this repository and type in the following in your\nterminal/cmd. You will need [poetry](https://python-poetry.org/).\n\n```bash\npoetry install\n```\n\n## Usage\n\nIn your terminal/cmd, change to the folder where your repository is\nlocated and do the following:\n\n```bash\nrex --token \u003cyour token\u003e markdown\n```\n\nThat's it. You should see a `CHANGELOG.md` in your folder.\n\n### Advance Usage\n\nRelease exporter has the following options\n\n```bash\nUsage: rex [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n    --token TEXT      Token number if its a private repository.\n    --url TEXT        URL of your repository. This is optional if your current\n                    directory has .git folder with remote url.\n    --location TEXT   Local location of your repository.\n    --version\n    --universal TEXT  Create a global settings file. Defaults to True.\n    --help            Show this message and exit.\n\nCommands:\n    all       Creates change log for all formats.\n    init      Creates .rex file.\n    json      Creates JSON file.\n    markdown  Creates markdown file.\n    rst       Creates reStructuredText file.\n```\n\nIf you don't have a repository on your computer, but you still want to\ngenerate a change log you can manually add your repository URL as\nfollows:\n\n```bash\nrex markdown --token \u003cyour token\u003e --url \u003cyour url\u003e\n```\n\nIf you have your repository in a different location and you are lazy\n(like me) to change into that directory, get the absolute path of your\nrepository add it to the `--location \u003clocation\u003e`.\n\n```bash\nrex --token \u003cyour token\u003e --location \u003cabsolute path\u003e\n```\n\nYou can also export your releases to JSON file by just replacing\n`markdown` with `json`. The output looks something like this:\n\n```json\n{\n    \"repositoryName\": \"release-exporter\",\n    \"provider\": \"github.com\",\n    \"owner\": \"akshaybabloo\",\n    \"repoUrl\": \"https://github.com/akshaybabloo/release-exporter\",\n    \"totalTags\": 2,\n    \"data\": [\n        {\n            \"tagName\": \"Unreleased\",\n            \"description\": \"\",\n            \"createdAt\": \"\",\n            \"compareUrl\": \"https://github.com/akshaybabloo/release-exporter/compare/1.0.1...HEAD\"\n        },\n        {\n            \"tagName\": \"v1.0.1\",\n            \"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\",\n            \"createdAt\": \"2018-01-16\",\n            \"compareUrl\": \"https://github.com/akshaybabloo/release-exporter/compare/v1.0...v1.0.1\"\n        },\n        {\n            \"tagName\": \"v1.0\",\n            \"description\": \"Initial release.\",\n            \"createdAt\": \"2018-01-15\",\n            \"compareUrl\": null\n        }\n    ]\n}\n```\n\n\u003e **Note:** The `Unreleased` tag is not counted in `totalTags`.\n\n## Problems you might encounter\n\nIf you are using `rex` on your repository folder or if you are using\n`--location` you might get an error saying that there are duplicate\nkeys, this is because sometimes the file `.git/config` has more than\none `[remote \"origin\"]`. In such case, it is best to give the URL of\nyour repository by giving `--url \u003crepo URL\u003e`.\n\n## Reference\n\n- Markdown logo from [https://github.com/dcurtis/markdown-mark/](https://github.com/dcurtis/markdown-mark/)\n- Logo by [New release icons created by berkahicon - Flaticon](https://www.flaticon.com/free-icons/new-release)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakshaybabloo%2Frelease-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakshaybabloo%2Frelease-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakshaybabloo%2Frelease-exporter/lists"}