
完全自動化的ChangElog生成- 此GEM根據標籤,問題和合併的拉請請求(並根據標籤將其分成單獨的列表)生成一個更改文件文件。
由於您現在不必手動填充CHANGELOG.md :只需運行腳本,放鬆一下,然後在下一個版本之前拿一杯☕! ?
為了使用戶和貢獻者更容易查看項目的每個版本(或版本)之間已經進行了什麼顯著更改。
因為軟件工具適合人們。 “更改程序使用戶和貢獻者更容易確切查看項目的每個版本(或版本)之間已經進行了什麼明顯的更改。”
➡️https: //keapeachangelog.com
GitHub ChangElog Generator是一個紅寶石程序,分佈成紅寶石。 Ruby語言首頁具有安裝頁面。
像以下方式安裝寶石:
$ gem install github_changelog_generator
根據系統的不同,您可能需要以管理員(Windows)的形式運行外殼,或使用sudo gem install github_changelog_generator (linux)。
github_changelog_generator -u github_project_namespace -p github_project
(如果您擁有的項目,則可能是您的用戶名,但它也可能是項目的名稱空間)
使用Docker是安裝Ruby和Gem的替代方法。
示例調用:
$ docker run -it --rm -v "$(pwd)":/usr/local/src/your-app githubchangeloggenerator/github-changelog-generator
對於GitHub企業存儲庫,請同時指定--github-site和--github-api選項:
$ github_changelog_generator --github-site="https://github.yoursite.com"
--github-api="https://github.yoursite.com/api/v3/"
這會生成一個CHANGELOG.md ,並具有漂亮的降價格式。
查看該項目的changelog.md
ActionHeetPicker-3.0/changelog.md是由命令生成的:
$ github_changelog_generator -u github-changelog-generator -p ActionSheetPicker-3.0
通常,看起來像這樣:
1.2.5(2015-01-15)
完整的變換
實施增強:
- 使用里程碑來指定修復了哪個版本錯誤#22
修復錯誤:
- 試圖生成無標籤庫存日誌時的錯誤
合併拉的請求:
使用小寫“ PP”#43(Schwing)包括PrettyPrint類
通過命令行選項#42(Glenlovett)支持Enterprise GitHub
打印所有命令行選項的幫助,以了解更多詳細信息:
$ github_changelog_generator --help
有關參數的更多詳細信息,請閱讀Wiki頁面:高級ChangElog生成示例
在您的項目root中,您可以將一個名為.github_changelog_generator的參數文件覆蓋默認參數:
例子:
unreleased=false
future-release=5.0.0
since-tag=1.0.0
Github每小時只允許50個未經驗證的請求。
因此,建議通過使用令牌運行該腳本。
以下是:
--token <your-40-digit-token>運行腳本;或者CHANGELOG_GITHUB_TOKEN環境變量設置為40數字令牌您可以通過在提示符下運行以下命令或將其添加到shell配置文件(例如, .env , ~/.bash_profile , ~/.zshrc等)來設置環境變量:
export CHANGELOG_GITHUB_TOKEN="«your-40-digit-github-token»"
因此,如果您收到這樣的消息:
API rate limit exceeded for github_username.
See: https://developer.github.com/v3/#rate-limiting是時候創建這個令牌了! (或者,請等待一個小時以重置您的未經身份驗證的請求限制。)
知道您對項目的敬業度,您可能沒有等待github-changelog-generator來保留更改。但是,您可能也不希望您的項目的開放性問題和PRS適用於歷史悠久的ChangElog中列出的所有過去功能。
那就是--base <your-manual-changelog.md>派上用場的地方!此選項使您的舊手動變形值將其附加到生成的條目的末尾。
如果您的項目中有一個HISTORY.md文件,則將自動選擇作為靜態歷史變形值並附加。
你愛rake嗎?我們也這樣做!因此,我們使您更容易:我們為您的ChangElog生成提供了一個rake任務庫。
在您的Rakefile中配置任務:
require 'github_changelog_generator/task'
GitHubChangelogGenerator :: RakeTask . new :changelog do | config |
config . user = 'username'
config . project = 'project-name'
config . since_tag = '0.1.14'
config . future_release = '0.2.0'
end所有命令行選項都可以作為config參數傳遞給rake Task。而且,由於您自己命名了rake任務,因此您可以根據需要創建任務。
您可以從解析器源代碼(#setup_parser)中查找參數名稱。例如,要將錯誤標籤轉換為葡萄牙語,而不是設置config.bugs_label ,您必須設置config.bug_prefix ,依此類推。
生成規範的,整潔的變形文件,其中包含遵循基本ChangElog指南的默認部分?
可選會產生未發布的更改(尚未發布的封閉問題)?
GitHub企業通過命令行選項支持! ?
靈活格式自定義:
milestone與版本的標籤相同的名稱,手動指定解決問題的版本(對於問題的關閉日期不匹配)?question , duplicate , invalid wontfix )✂️通過標籤區分問題。 ?
bug問題)?enhancement的問題)?手動包含或排除標籤問題?
自定義更多!調整ChangElog以適合您的喜好? (有關詳細信息,請參見github_changelog_generator --help )
對於每個版本,您可以添加帶有文本,圖像,gif動畫等的發行摘要,並清楚地向用戶顯示新功能和註釋。這是使用github元數據完成的。
示例:添加v1.0.0的版本摘要:

Hello, World! :tada:
release-summary然後將其添加到GitHub Milestone v1.0.0github-changelog-generatorV1.0.0(2014-11-07)
完整的變換
你好世界! ?
實施增強:
- 添加一些功能
這是我發現的Wikipage列表。但是沒有人滿足我的要求。
如果您知道其他項目,請隨時編輯此Wiki頁面!
這是Wikipage項目列表。
如果您在實時應用程序中使用了此項目,請告訴我!沒有什麼比看到別人拿起我的工作並與之狂奔更快樂的事情。
如果您使用github_changelog_generator來生成項目的變形值,或者知道使用它的其他項目,請將其添加到此列表中。
github_changelog_generator可以與github cli結合使用以創建發行說明。使用github_changelog_generator的--since-tag和--output選項為當前版本創建一個變形值,然後將結果存儲在文件中。在下面的示例中,版本2.0.0是當前版本,版本1.0.0是先前的版本。
mkdir -p build
github_changelog_generator
--since-tag 1.0.0
--output build/changelog.md
然後使用github cli的發行版創建功能創建新的github版本
gh release create 2.0.0
--notes-file build/changelog.md
--title 2.0.0
沒有什麼是不可能的!
打開一個問題,讓我們一起使發電機更好!
總是歡迎錯誤報告,功能請求,補丁和祝福。 ❗
Github發行是一件非常好的事情。維護它是一個很好的做法。 (還沒有很多人在使用它!)㊗️
順便說一句:我想在接下來的發行版中支持GitHub發行;)
我不是要比較手寫和自動生成的日誌的質量。就是說...
即使您手動填寫發行說明,自動生成的Changelog也確實有幫助!
使用.github_changelog_generator中的add-sections或configure-sections條目,這是可能的。例如,要添加一個稱為“維護”的單個新條目,該條目將捕獲帶有maintenance標籤標記的PRS,您可以添加到.github_changelog_generator the行:
add-sections= {"maintenance":{"prefix":"**Project maintenance**","labels":["maintenance"]}}
可以通過configure-sections使用類似的方法來設置所有部分屬性(包括添加新的屬性!)。
當您的Ruby舊時,您不想升級,並且您想控制使用的庫,則可以使用Bundler。
在一個傑夫里(Gemfile)中,也許在一個無人研究的:development小組中,添加這個寶石:
group :development do
gem 'github_changelog_generator' , require : false
end然後,您可以保留諸如架子之類的依賴關係,後者當前僅與Ruby> = 2.2.2兼容。因此,通過在Gemfile中添加類似的行來為您的應用使用舊版本:
gem 'rack', '~> 1.6'
這樣,即使您無法安裝最新版本的Ruby版本,也可以繼續使用GitHub_changelog_generator。
Windows:V1.14.0引入了一個錯誤,它嘗試創建 /tmp/github_changelog-logger.log ...這不是Windows上的有效路徑,因此失敗
解決方法:創建C:tmp 。
您想為這個項目做出貢獻嗎?貢獻。 md具有有關如何做到這一點的所有詳細信息。
加入Gitter的聊天:GitHub-Changelog-Generator
GitHub ChangElog發電機是根據MIT許可證發布的。