定制 localheinz/github-changelog 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

Integrate Prune Release Renew

Code Coverage Type Coverage

Latest Stable Version Total Downloads

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

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
Rebase and merge No
Squash and merge No
Merge pull request 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

GitHub 信息

  • Stars: 48
  • Watchers: 3
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-03-01