localheinz/github-changelog
最新稳定版本:0.7.1
Composer 安装命令:
composer require localheinz/github-changelog
包简介
Provides a console command that generates a changelog based on titles of pull requests merged between specified references.
README 文档
README
Provides a script that generates a changelog based on titles of pull requests merged between specified references.
Is this the right tool for me?
Probably not. There are a range of other tools that probably do a better job.
Take a look at
- https://packagist.org/?q=changelog
- https://www.npmjs.com/search?q=changelog
- https://pypi.python.org/pypi?%3Aaction=search&term=changelog
Nonetheless, for me and my projects, it's the second best thing after manually keeping a changelog as suggested at http://keepachangelog.com.
When will it work for me?
| My process | Will this tool work for me? |
|---|---|
| I need elaborate changelogs | No |
| I push directly into the default branch | No |
![]() |
No |
![]() |
No |
![]() |
Yes |
Why is this tool so limited?
All this tool does is this:
- it collects commits between references
- it matches commit messages against what is used by GitHub as a merge commit message
- it fetches the pull request title from the corresponding pull request
- it then uses all of the pull request titles to compile a list
CLI Tool
Global installation
Install globally:
$ composer global require ergebnis/github-changelog
Create your changelogs from within a Git repository:
$ git clone git@github.com:ergebnis/github-changelog.git
$ cd github-changelog
$ github-changelog generate 0.1.1 0.1.2
Create your changelogs from anywhere, specifying the repository using the --repository option:
$ github-changelog generate --repository ergebnis/github-changelog 0.1.1 0.1.2
Enjoy the changelog:
- Fix: Catch exceptions in command (#37), by @localheinz
- Fix: Request 250 instead of 30 commits (#38), by @localheinz
Local installation
Install locally:
$ composer require --dev ergebnis/github-changelog
Create your changelog from within in your project:
$ vendor/bin/github-changelog generate ergebnis/github-changelog ae63248 main
Enjoy the changelog:
- Enhancement: Create ChangeLog command (#31), by @localheinz
- Fix: Assert exit code is set to 0 (#32), by @localheinz
- Enhancement: Add console application (#33), by @localheinz
- Fix: Readme (#34), by @localheinz
- Fix: Autoloading for console script (#35), by @localheinz
- Fix: Version foo with rebasing and whatnot (#36), by @localheinz
- Fix: Catch exceptions in command (#37), by @localheinz
- Fix: Request 250 instead of 30 commits (#38), by @localheinz
Userland Code
Install locally:
$ composer require ergebnis/github-changelog
Retrieve pull requests between references in your application:
<?php require 'vendor/autoload.php'; use Github\Client; use Github\HttpClient\CachedHttpClient; use Ergebnis\GitHub\Changelog\Repository; use Ergebnis\GitHub\Changelog\Resource; $client = new Client(new CachedHttpClient()); $client->authenticate( 'your-token-here', Client::AUTH_HTTP_TOKEN ); $pullRequestRepository = new Repository\PullRequestRepository( $client->pullRequests(), new Repository\CommitRepository($client->repositories()->commits()) ); /* @var Resource\RangeInterface $range */ $range = $repository->items( Resource\Repository::fromString('ergebnis/github-changelog'), '0.1.1', '0.1.2' ); $pullRequests = $range->pullRequests(); array_walk($pullRequests, function (Resource\PullRequestInterface $pullRequest) { echo sprintf( '- %s (#%d), submitted by @%s' . PHP_EOL, $pullRequest->title(), $pullRequest->number(), $pullRequest->author()->login(), ); });
Enjoy the changelog:
- Fix: Catch exceptions in command (#37), submitted by @localheinz
- Fix: Request 250 instead of 30 commits (#38), submitted by @localheinz
Hints
💡 You can use anything for a reference, e.g., a tag, a branch, a commit!
Changelog
Please have a look at CHANGELOG.md.
Contributing
Please have a look at CONTRIBUTING.md.
Code of Conduct
Please have a look at CODE_OF_CONDUCT.md.
License
This package is licensed using the MIT License.
Please have a look at LICENSE.md.
Curious what I am building?
📬 Subscribe to my list, and I will occasionally send you an email to let you know what I am working on.
统计信息
- 总下载量: 143
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 48
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-03-01


