shopsys/changelog-linker

[FORK] 生成具有链接到PRs、版本和按添加/更改/修复/删除分类分组的用户的漂亮 CHANGELOG.md。


README

Build Status Downloads

将您的 CHANGELOG.md 从机器可读文本转换为让每个程序员都感到满意的丰富文本。

安装

composer require symplify/changelog-linker --dev

用法

创建带有配置的 changelog-linker.yml

parameters:
    # this is detected from "git origin", but you can change it
    repository_url: 'https://github.com/symplify/symplify'

配置在根目录或通过 --config 选项自动发现。

A. 导出合并

vendor/bin/changelog-linker dump-merges

写还是干运行?

使用 --dry-run 选项将结果打印到输出。没有该选项时,它会在 CHANGELOG.md 中查找 <!-- changelog-linker --> 并用内容替换。

它找到 CHANGELOG.md 中的最后一个 #ID,然后通过API在Github上查找并导出自最后一个 #ID以来的所有已合并的PRs,格式很好。如果您想 自己指定最小PR ID,请使用此方法

vendor/bin/changelog-linker dump-merges --since-id 125

但这会将所有内容混合在一起。不太理想

## Unreleased

- [#868] [ChangelogLinker] Add ChangeTree to manage merge messages
- [#867] [ChangelogLinker] Change Worker registration from implicit to explicit
- [#865] Improve Code Complexity
- [#864] [MonorepoBuilder] improve coverage

如果我们有 添加更改... 所有标准分类怎么办?

vendor/bin/changelog-linker dump-merges --in-categories

## Unreleased

### Added

- [#828] [ChangelogLinker] Add Unreleased to last tagged version feature
- [#840] [ChangelogLinker] Add LinkifyWorker

很好,现在所有内容都整齐地分组了。

(你想知道我们如何检测分类吗? 跟我来)

关于包,我们能否也将其分组?当然可以

vendor/bin/changelog-linker dump-merges --in-packages

## Unreleased

### CodingStandard

- [#851] Add _ support to PropertyNameMatchingTypeFixer
- [#860] Add test case for #855, Thanks to @OndraM

(技术秘密:它对PR标题中的 [Package] 做出反应。)

让我们更进一步!

vendor/bin/changelog-linker dump-merges --in-packages --in-categories

## Unreleased

### CodingStandard

#### Added

- [#851] Add _ support to PropertyNameMatchingTypeFixer
- [#860] Add test case for #855, Thanks to @OndraM

你喜欢先分类吗?只需切换顺序

vendor/bin/changelog-linker dump-merges --in-categories --in-packages

## Unreleased

### Added

#### EasyCodingStandard

- [#851] Add _ support to PropertyNameMatchingTypeFixer
- [#860] Add test case for #855, Thanks to @OndraM

Github API 过载?

如果你超过API速率限制并被拒绝,创建 新的 Github Token 并通过 GITHUB_TOKEN 环境变量运行。

GITHUB_TOKEN super-secret-token vendor/bin/changelog-linker dump-merges

B. 装饰 CHANGELOG.md

vendor/bin/changelog-linker link

1. 链接PR和问题

 ### Added

-- #123 Cool new without detailed description wanting me to see PR, [closes #234]
+- [#123] Cool new without detailed description wanting me to see PR, [closes [#234]]
+
+[#123]: https://github.com/Symplify/Symplify/pull/123
+[#234]: https://github.com/Symplify/Symplify/pull/234

2. 链接版本到差异

-## v2.0.0 - 2017-12-31
+## [v2.0.0] - 2017-12-31

 - ...

 ## v1.5.0 - 2017-06-30
+
+[v2.0.0]: https://github.com/Symplify/Symplify/compare/v1.5.0...v2.0.0

3. 我可以感谢我的贡献者吗?

当然可以!给你的贡献者应有的认可

 ### [v2.0.0] - 2017-12-31

-- ... thanks @SpacePossum for help
+- ... thanks [@SpacePossum] for help
+
+[@SpacePossum]: https://github.com/SpacePossum

你可以排除核心维护者,以给外部贡献者更多的认可

# changelog-linker.yml
parameters:
    authors_to_ignore: ['TomasVotruba']

4. 如何链接特定单词?

在Symplify中,我需要每个 EasyCodingStandard 单词都链接到 https://github.com/Symplify/EasyCodingStandard/

# changelog-linker.yml
parameters:
    names_to_urls:
        EasyCodingStandard: 'https://github.com/Symplify/EasyCodingStandard/'
 ## Unreleased

 ### Added

-#### EasyCodingStandard
+#### [EasyCodingStandard]
+
+[EasyCodingStandard]: https://github.com/Symplify/EasyCodingStandard/

5. 我可以写更短的PR标题吗?

ECS-Run

只需在配置中添加别名

# changelog-linker.yml
parameters:
    package_aliases:
        CS: 'CodingStandard'

...它将被解析为 CodingStandard 包。