ergebnis/github-changelog

此包已被废弃,不再维护。未建议替代包。

提供了一个控制台命令,根据指定的引用之间合并的拉取请求的标题生成变更日志。

0.7.1 2019-12-15 09:43 UTC

README

Integrate Prune Release Renew

Code Coverage Type Coverage

Latest Stable Version Total Downloads

提供了一个脚本,根据指定的引用之间合并的拉取请求的标题生成变更日志。

这个工具适合我吗?

可能不是。还有其他一系列工具可能做得更好。

请查看

尽管如此,对我来说和我的项目来说,它是在手动维护变更日志之后(如http://keepachangelog.com建议的)的第二好的选择。

何时适合我?

我的流程 这个工具适合我吗?
我需要详细的变更日志
我直接推送到默认分支
Rebase and merge
Squash and merge
Merge pull request

为什么这个工具如此受限?

这个工具所做的仅仅是这个

  • 它收集引用之间的提交
  • 它将提交消息与GitHub用作合并提交消息的内容进行匹配
  • 它从相应的拉取请求中获取拉取请求标题
  • 然后使用所有拉取请求标题来编制一个列表

命令行工具

全局安装

全局安装

$ composer global require ergebnis/github-changelog

在Git仓库内部创建您的变更日志

$ git clone [email protected]:ergebnis/github-changelog.git
$ cd github-changelog
$ github-changelog generate 0.1.1 0.1.2

从任何地方创建您的变更日志,使用--repository选项指定仓库

$ github-changelog generate --repository ergebnis/github-changelog 0.1.1 0.1.2

享受变更日志

- Fix: Catch exceptions in command (#37), by @localheinz
- Fix: Request 250 instead of 30 commits (#38), by @localheinz

本地安装

本地安装

$ composer require --dev ergebnis/github-changelog

在您的项目中创建变更日志

$ vendor/bin/github-changelog generate ergebnis/github-changelog ae63248 main

享受变更日志

- 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

用户代码

本地安装

$ composer require ergebnis/github-changelog

在您的应用程序中检索引用之间的拉取请求

<?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(),
    );
});

享受变更日志

- Fix: Catch exceptions in command (#37), submitted by @localheinz
- Fix: Request 250 instead of 30 commits (#38), submitted by @localheinz

提示

💡 您可以使用任何内容作为引用,例如,标签、分支、提交!

变更日志

请查看CHANGELOG.md

贡献

请查看CONTRIBUTING.md

行为准则

请查看CODE_OF_CONDUCT.md

许可

本软件包使用MIT许可证授权。

请查看LICENSE.md

好奇我在建造什么?

📬 订阅我的列表,我会偶尔发送邮件通知你我在做什么。