{"id":13451653,"url":"https://github.com/Songmu/ghch","last_synced_at":"2025-03-23T19:32:19.984Z","repository":{"id":7927719,"uuid":"56893114","full_name":"Songmu/ghch","owner":"Songmu","description":"Generate changelog from git history, tags and merged pull requests","archived":false,"fork":false,"pushed_at":"2023-10-09T06:11:03.000Z","size":177,"stargazers_count":205,"open_issues_count":3,"forks_count":25,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-07-02T14:46:15.464Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","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/Songmu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"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}},"created_at":"2016-04-23T00:49:58.000Z","updated_at":"2024-03-07T23:21:46.000Z","dependencies_parsed_at":"2024-06-18T15:25:45.509Z","dependency_job_id":null,"html_url":"https://github.com/Songmu/ghch","commit_stats":{"total_commits":144,"total_committers":9,"mean_commits":16.0,"dds":0.09722222222222221,"last_synced_commit":"a6e16cc6d88f694e00afeaf5f415329277213cc7"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Songmu%2Fghch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Songmu%2Fghch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Songmu%2Fghch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Songmu%2Fghch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Songmu","download_url":"https://codeload.github.com/Songmu/ghch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":213325052,"owners_count":15570228,"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","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":[],"created_at":"2024-07-31T07:00:57.946Z","updated_at":"2024-07-31T07:03:52.972Z","avatar_url":"https://github.com/Songmu.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"ghch\n=======\n\n[![Test Status](https://github.com/Songmu/ghch/workflows/test/badge.svg?branch=main)][actions]\n[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)][license]\n[![PkgGoDev](https://pkg.go.dev/badge/github.com/Songmu/ghch)](https://pkg.go.dev/github.com/Songmu/ghch)\n\n[actions]: https://github.com/Songmu/ghch/actions?workflow=test\n[coveralls]: https://coveralls.io/r/Songmu/ghch?branch=main\n[license]: https://github.com/Songmu/ghch/blob/main/LICENSE\n[pkggodev]: https://pkg.go.dev/github.com/Songmu/ghch\n\n## Description\n\nGenerate changelog from git history, tags and merged pull requests\n\n## Installation\n\n    % go install github.com/Songmu/ghch/cmd/ghch@latest\n\n## Synopsis\n\n    % ghch -r /path/to/repo [--format markdown]\n\n## Options\n\n```\n-r, --repo=         git repository path (default: .)\n-f, --from=         git commit revision range start from\n-t, --to=           git commit revision range end to\n    --latest        output changes between latest two semantic versioned tags\n-v, --verbose\n-F, --format=       json or markdown (default: json)\n-A, --all           output all changes\n-N, --next-version=\n-g, --git=          git path (default: git)\n    --token=        github token\n    --remote=       default remote name (default: origin)\n```\n\n## GITHUB Token\n\nWhen github's api token is required in private repository etc., it is used in the following order of priority.\n\n- command line option `--token`\n- enviroment variable `GITHUB_TOKEN`\n- `git config github.token`\n\n## GitHub Enterprise\n\nYou can use `ghch` for GitHub Enterprise. Change API endpoint via the enviromental variable.\n\n    $ export GITHUB_API=http://github.company.com/api/v3\n\n## Requirements\n\ngit 1.8.5 or newer is required.\n\n## Examples\n\n### display changes from last versioned tag\n\n    % ghch\n    {\n      \"pull_requests\": [\n        {\n          \"html_url\": \"https://github.com/mackerelio/mackerel-agent/pull/221\",\n          \"title\": \"Fix typo\",\n          \"number\": 221,\n          \"state\": \"closed\",\n          \"user\": {\n            \"login\": \"yukiyan\",\n            \"avatar_url\": \"https://avatars.githubusercontent.com/u/7304122?v=3\",\n            \"type\": \"User\"\n          },\n          \"body\": \"Just fixing a typo 😄 \",\n          \"created_at\": \"2016-04-19T08:27:30Z\",\n          \"updated_at\": \"2016-04-25T01:51:15Z\",\n          \"merged_at\": \"2016-04-25T01:51:11Z\",\n          ...\n          \"merged_by\": {\n            \"login\": \"stefafafan\",\n            \"avatar_url\": \"https://avatars.githubusercontent.com/u/3520520?v=3\",\n            \"type\": \"User\"\n          }\n        },\n        ...\n      ],\n      \"from_revision\": \"v0.30.2\",\n      \"to_revision\": \"\",\n      \"changed_at\": \"2016-04-27T19:05:49+09:00\",\n      \"owner\": \"mackerelio\",\n      \"repo\": \"mackerel-agent\"\n    }\n\n### display changes from last versioned tag in markdown\n\n    % ghch --format=markdown --next-version=v0.30.3\n    ## [v0.30.3](https://github.com/mackerelio/mackerel-agent/releases/tag/v0.30.3) (2016-04-27)\n    \n    * retry retirement when api request failed [#224](https://github.com/mackerelio/mackerel-agent/pull/224) ([Songmu](https://github.com/Songmu))\n    * Fix comments [#222](https://github.com/mackerelio/mackerel-agent/pull/222) ([stefafafan](https://github.com/stefafafan))\n    * Remove go get cmd/vet [#223](https://github.com/mackerelio/mackerel-agent/pull/223) ([itchyny](https://github.com/itchyny))\n    * [nit] [plugin.checks.foo ] is valid toml now [#225](https://github.com/mackerelio/mackerel-agent/pull/225) ([Songmu](https://github.com/Songmu))\n    * Remove usr local bin again [#217](https://github.com/mackerelio/mackerel-agent/pull/217) ([Songmu](https://github.com/Songmu))\n    * Fix typo [#221](https://github.com/mackerelio/mackerel-agent/pull/221) ([yukiyan](https://github.com/yukiyan))\n\n### display changes between two tags semantic versioned in markdown\n\n    % ghch -F markdown --latest\n    ## [v0.2.0](https://github.com/Songmu/ghch/compare/v0.1.3...v0.2.0) (2018-01-01)\n    \n    * introduce goxz for releasing and drop goxc dependency [#17](https://github.com/Songmu/ghch/pull/17) ([Songmu](https://github.com/Songmu))\n    * add --latest option for output changes between latest two semantic versioned tags [#16](https://github.com/Songmu/ghch/pull/16) ([Songmu](https://github.com/Songmu))\n    * fill oldest commit hash when from ref is empty [#15](https://github.com/Songmu/ghch/pull/15) ([Songmu](https://github.com/Songmu))\n\n### display all changes\n\n    % ghch --format=markdown --next-version=v0.30.3 --all\n    ...\n\n### display changes between specified two revisions\n\n    % ghch --from v0.9.0 --to v0.9.1\n    ...\n\n## Author\n\n[Songmu](https://github.com/Songmu)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSongmu%2Fghch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSongmu%2Fghch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSongmu%2Fghch/lists"}