{"id":14986055,"url":"https://github.com/bobankh/auto-generate-changelog","last_synced_at":"2025-04-04T15:07:03.958Z","repository":{"id":37778846,"uuid":"283539655","full_name":"BobAnkh/auto-generate-changelog","owner":"BobAnkh","description":"A Github Action to generate CHANGELOG automatically according to conventional commits. Feel free to contribute!","archived":false,"fork":false,"pushed_at":"2025-02-22T02:59:40.000Z","size":290,"stargazers_count":85,"open_issues_count":12,"forks_count":23,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-04T14:58:10.044Z","etag":null,"topics":["changelog-generator","continuous-integration","contributions-welcome","dockerfile","github-actions","github-api","python","utilities"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BobAnkh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2020-07-29T15:46:03.000Z","updated_at":"2025-03-28T07:58:09.000Z","dependencies_parsed_at":"2025-01-15T20:20:42.491Z","dependency_job_id":null,"html_url":"https://github.com/BobAnkh/auto-generate-changelog","commit_stats":{"total_commits":284,"total_committers":5,"mean_commits":56.8,"dds":0.5633802816901409,"last_synced_commit":"af5c6b27dc33a12455ff66d686d519f68c52794d"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BobAnkh%2Fauto-generate-changelog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BobAnkh%2Fauto-generate-changelog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BobAnkh%2Fauto-generate-changelog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BobAnkh%2Fauto-generate-changelog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BobAnkh","download_url":"https://codeload.github.com/BobAnkh/auto-generate-changelog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247198449,"owners_count":20900079,"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":["changelog-generator","continuous-integration","contributions-welcome","dockerfile","github-actions","github-api","python","utilities"],"created_at":"2024-09-24T14:12:12.546Z","updated_at":"2025-04-04T15:07:03.938Z","avatar_url":"https://github.com/BobAnkh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# auto-generate-changelog\n\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/47a06388ecd34ff5a1d623827d9bb659)](https://www.codacy.com/manual/bobankhshen/auto-generate-changelog/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=BobAnkh/auto-generate-changelog\u0026amp;utm_campaign=Badge_Grade)\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/BobAnkh/auto-generate-changelog?color=orange\u0026logo=github-actions)\n![language-python](https://img.shields.io/github/languages/top/BobAnkh/auto-generate-changelog?logo=python\u0026logoColor=yellow)\n![LICENSE Apache-2.0](https://img.shields.io/github/license/BobAnkh/auto-generate-changelog?logo=apache)\n\nA Github Action to generate CHANGELOG automatically according to conventional commits.\n\nFeel free to submit a pull request or an issue, but make sure to follow the templates.\n\nWelcome contributors to improve this project together!\n\n**If you like this, please give me a star**!\n\n## Usage\n\nCreate a workflow file such as [`.github/workflows/changelog.yml`](./.github/workflows/changelog.yml) (you can find it in this repo)\n\n```yaml\nname: Generate changelog\non:\n  release:\n    types: [created, edited]\n\njobs:\n  generate-changelog:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v2\n      with:\n        fetch-depth: 0\n    - uses: BobAnkh/auto-generate-changelog@v1.2.5\n      with:\n        REPO_NAME: '\u003cYourUserName\u003e/\u003cYourRepoName\u003e'\n        ACCESS_TOKEN: ${{secrets.GITHUB_TOKEN}}\n        PATH: 'CHANGELOG.md'\n        COMMIT_MESSAGE: 'docs(CHANGELOG): update release notes'\n        TYPE: 'feat:Feature,fix:Bug Fixes,docs:Documentation,refactor:Refactor,perf:Performance Improvements'\n```\n\n\u003e NOTE: Generating CHANGELOG needs all the commit history so you should set `fetch-depth: 0` with `actions/checkout`\n\u003e\n\u003e NOTE: commit log begins with `docs(changelog)` or `doc(CHANGELOG)` will not be added to the CHANGELOG\n\n### Inputs\n\n**Please see NOTES below the table for how to set some of the parameters**.\n\n| Inputs                      | Description                                                             | Required | Default                                             |\n| --------------------------- | ----------------------------------------------------------------------- | -------- | --------------------------------------------------- |\n| REPO_NAME                   | Repository name                                                         | no       | `''` which means current repository                 |\n| ACCESS_TOKEN                | Github Access Token. See **NOTES 1**                                    | yes      | You can just pass `${{secrets.GITHUB_TOKEN}}`       |\n| PATH                        | Path to the your file                                                   | no       | `CHANGELOG.md`                                      |\n| BRANCH                      | The branch to update file specified in PATH                             | no       | `''` which means default branch                     |\n| PULL_REQUEST                | Open a new pull request if set to a target branch name. See **NOTES 2** | no       | `''` which means not open pull request by default   |\n| COMMIT_MESSAGE              | Commit message                                                          | no       | `docs(CHANGELOG): update release notes`             |\n| TYPE                        | The type of commits you want to add to CHANGELOG. See **NOTES 3**       | no       | `'feat:Feature,fix:Fix'`                            |\n| COMMITTER                   | The committer you want to use to update file. See **NOTES 4**           | no       | `''` which means default committer                  |\n| DEFAULT_SCOPE               | The default scope to hold all unscoped commits                          | no       | `general`                                           |\n| SUPPRESS_UNSCOPED           | Whether to exclude unscoped commits                                     | no       | false                                               |\n| UNRELEASED_COMMITS          | Whether to include unreleased commits in the changelog                  | no       | false                                               |\n| REGENERATE_COUNT            | Regenerate n recent releases' changelog. See **NOTES 5**                | no       | 0                                                   |\n| REPLACE_EMPTY_RELEASE_INFO  | Replace empty release info with some words                              | no       | false                                               |\n\n**NOTES 1**: `${{secrets.GITHUB_TOKEN}}` has a [rate limit](https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting) smaller than Personal Access Token (PAT), so if you have much more requests(commits, prs, etc.) or face a 403 rate-limit-error, use PAT instead.\n\n**NOTES 2**: `PULL_REQUEST` must be used with `BRANCH` together, both **should be provided** with a valid branch name if you want to **open a pull request**. The GA will open a pull request from the `BRANCH` (head branch) to the `PULL_REQUEST` (base branch). Leave `PULL_REQUEST` blank if you don't want to open a pull request.\n\n**NOTES 3**: You can define the keyword detected from commit message and the corresponding word presented in the changelog in input `TYPE`. For example, define `feat:Feature,fix:Bug Fixes` will have commit messages like `feat(main): add new option` to be presented in changelog under part `Feature` and have commit messages like `fix(server): adjust rendering` to be presented in changelog under part `Bug Fixes`.\n\n**NOTES 4**: `COMMITTER` should be in the format: `'author \u003cauthor@email\u003e'`\n\n**NOTES 5**: All the releases not exist in the changelog will of course be added to the changelog. Use this parameter to regenerate the last n releases' changelog. Default set to 0 means only generate for new releases. You can set to -1 to regenerate all the releases.\n\n**NOTES 6**: You can use the format below to avoid some lines in release description to appear in the CHANGELOG:\n\n\u003e ```markdown\n\u003e \u003c!-- HIDE IN CHANGELOG BEGIN --\u003e\n\u003e See CHANGELOG for more details. This line will be hided when changelog is generated.\n\u003e \u003c!-- HIDE IN CHANGELOG END --\u003e\n\u003e ```\n\n## Maintainer\n\n[@BobAnkh](https://github.com/BobAnkh)\n\n## How to contribute\n\nYou should follow our [Code of Conduct](/CODE_OF_CONDUCT.md).\n\nSee [CONTRIBUTING GUIDELINES](/CONTRIBUTING.md) for contributing conventions.\n\nMake sure to pass all the tests before submitting your code. You can conduct `pytest -ra` at the root directory to run all tests.\n\nYou can use local mode when develope it on your local machine, here is the command-line help info:\n\n```console\nusage: main.py [-h] [-m MODE] [-f FILE] [-o OUTPUT] [-t TOKEN]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -m MODE, --mode MODE  choose to use local-dev mode or on github action mode.\n                        Valid values are 'local' or 'github'\n  -f FILE, --file FILE  configuration file to read from when running local-dev\n                        mode\n  -o OUTPUT, --output OUTPUT\n                        output file when running local-dev mode\n  -t TOKEN, --token TOKEN\n                        Github Access Token\n```\n\n### Contributors\n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003ctd align=\"center\" style=\"word-wrap: break-word; width: 150.0; height: 150.0\"\u003e\n        \u003ca href=https://github.com/BobAnkh\u003e\n            \u003cimg src=https://avatars.githubusercontent.com/u/44333669?v=4 width=\"100;\"  style=\"border-radius:50%;align-items:center;justify-content:center;overflow:hidden;padding-top:10px\" alt=Yixin Shen/\u003e\n            \u003cbr /\u003e\n            \u003csub style=\"font-size:14px\"\u003e\u003cb\u003eYixin Shen\u003c/b\u003e\u003c/sub\u003e\n        \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" style=\"word-wrap: break-word; width: 150.0; height: 150.0\"\u003e\n        \u003ca href=https://github.com/joundso\u003e\n            \u003cimg src=https://avatars.githubusercontent.com/u/56686638?v=4 width=\"100;\"  style=\"border-radius:50%;align-items:center;justify-content:center;overflow:hidden;padding-top:10px\" alt=Jonathan Mang/\u003e\n            \u003cbr /\u003e\n            \u003csub style=\"font-size:14px\"\u003e\u003cb\u003eJonathan Mang\u003c/b\u003e\u003c/sub\u003e\n        \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" style=\"word-wrap: break-word; width: 150.0; height: 150.0\"\u003e\n        \u003ca href=https://github.com/sruehl\u003e\n            \u003cimg src=https://avatars.githubusercontent.com/u/1769155?v=4 width=\"100;\"  style=\"border-radius:50%;align-items:center;justify-content:center;overflow:hidden;padding-top:10px\" alt=Sebastian Rühl/\u003e\n            \u003cbr /\u003e\n            \u003csub style=\"font-size:14px\"\u003e\u003cb\u003eSebastian Rühl\u003c/b\u003e\u003c/sub\u003e\n        \u003c/a\u003e\n    \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n## LICENSE\n\n[Apache-2.0](/LICENSE) © BobAnkh\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobankh%2Fauto-generate-changelog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbobankh%2Fauto-generate-changelog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobankh%2Fauto-generate-changelog/lists"}