
Generasi Changelog Otomatis Sepenuhnya Otomatis - Permata ini menghasilkan file changelog berdasarkan tag , masalah dan permintaan tarik yang digabungkan (dan membagi mereka menjadi daftar terpisah sesuai dengan label) dari GitHub.
Karena Anda tidak perlu mengisi CHANGELOG.md Anda secara manual sekarang: Cukup jalankan skrip, rileks dan ambil secangkir ☕ sebelum rilis berikutnya! ?
Untuk memudahkan pengguna dan kontributor untuk melihat secara tepat perubahan penting apa yang telah dibuat antara setiap rilis (atau versi) proyek.
Karena alat perangkat lunak adalah untuk orang . "Changelogs memudahkan pengguna dan kontributor untuk melihat dengan tepat perubahan apa yang telah dibuat antara setiap rilis (atau versi) proyek."
➡️ https://keepachangelog.com
Ghithub Changelog Generator adalah program Ruby, didistribusikan sebagai rubygem. Beranda bahasa Ruby memiliki halaman instalasi.
Instal permata seperti:
$ gem install github_changelog_generator
Bergantung pada sistem Anda, Anda mungkin perlu menjalankan shell sebagai administrator (windows), atau menggunakan sudo gem install github_changelog_generator (linux).
github_changelog_generator -u github_project_namespace -p github_project
(Di mana proyek namespace kemungkinan adalah nama pengguna Anda jika itu adalah proyek yang Anda miliki, tetapi juga bisa menjadi namespace dari proyek)
Menggunakan Docker adalah alternatif untuk memasang Ruby dan Permata.
Contoh Doa:
$ docker run -it --rm -v "$(pwd)":/usr/local/src/your-app githubchangeloggenerator/github-changelog-generator
Untuk repo perusahaan github, tentukan opsi - --github-site dan --github-api :
$ github_changelog_generator --github-site="https://github.yoursite.com"
--github-api="https://github.yoursite.com/api/v3/"
Ini menghasilkan CHANGELOG.md , dengan pemformatan penurunan harga yang cukup.
Lihatlah Changelog.md untuk proyek ini
Actionheetpicker-3.0/Changelog.md dihasilkan oleh perintah:
$ github_changelog_generator -u github-changelog-generator -p ActionSheetPicker-3.0
Secara umum, sepertinya ini:
1.2.5 (2015-01-15)
Changelog penuh
Peningkatan yang diimplementasikan:
- Gunakan tonggak sejarah untuk menentukan di mana bug versi ditetapkan #22
Memperbaiki bug:
- Kesalahan saat mencoba menghasilkan log untuk repo tanpa tag #32
Permintaan tarik gabungan:
Kelas PrettyPrint termasuk menggunakan huruf kecil 'PP' #43 (Schwing)
Dukungan Perusahaan GitHub via Opsi Baris Perintah #42 (Glenlovett)
Cetak bantuan untuk semua opsi baris perintah untuk mempelajari detail lebih lanjut:
$ github_changelog_generator --help
Untuk detail lebih lanjut tentang Params, baca halaman Wiki: Contoh Generasi Changelog Lanjutan
Di root proyek Anda, Anda dapat meletakkan file params bernama .github_changelog_generator untuk mengganti params default:
Contoh:
unreleased=false
future-release=5.0.0
since-tag=1.0.0
GitHub hanya memungkinkan 50 permintaan yang tidak otentikasi per jam .
Oleh karena itu, disarankan untuk menjalankan skrip ini dengan otentikasi dengan menggunakan token .
Begini caranya:
--token <your-40-digit-token> ; ATAUCHANGELOG_GITHUB_TOKEN ke token 40 digit Anda Anda dapat mengatur variabel lingkungan dengan menjalankan perintah berikut di prompt, atau dengan menambahkannya ke profil shell Anda (misalnya, .env , ~/.bash_profile , ~/.zshrc , dll):
export CHANGELOG_GITHUB_TOKEN="«your-40-digit-github-token»"
Jadi, jika Anda mendapatkan pesan seperti ini:
API rate limit exceeded for github_username.
See: https://developer.github.com/v3/#rate-limitingSaatnya membuat token ini! (Atau, tunggu satu jam untuk GitHub untuk mengatur ulang batas permintaan Anda yang tidak terau otentikasi.)
Mengetahui seberapa berdedikasi Anda untuk proyek Anda, Anda mungkin belum menunggu github-changelog-generator untuk menyimpan changelog. Tetapi Anda mungkin tidak ingin masalah dan PR terbuka proyek Anda untuk semua fitur masa lalu yang tercantum dalam changelog bersejarah Anda.
Di situlah --base <your-manual-changelog.md> berguna! Opsi ini memungkinkan menambahkan changelog manual lama Anda ke akhir entri yang dihasilkan.
Jika Anda memiliki file HISTORY.md dalam proyek Anda, itu akan secara otomatis dipilih sebagai changelog historis statis dan ditambahkan.
Anda suka rake ? Kami juga! Jadi, kami membuatnya lebih mudah untuk Anda: kami telah menyediakan perpustakaan tugas rake untuk pembuatan changelog Anda.
Konfigurasikan tugas di Rakefile Anda:
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 Semua opsi baris perintah dapat diteruskan ke tugas rake sebagai parameter config . Dan karena Anda menamai sendiri tugas rake , Anda dapat membuat sebanyak yang Anda inginkan.
Anda dapat mencari nama params dari kode sumber parser (#setup_parser). Misalnya, untuk menerjemahkan label bug ke Portugis, alih -alih mengatur config.bugs_label , Anda harus mengatur config.bug_prefix , dan sebagainya.
Hasilkan file changelog kanonik dan rapi, dengan bagian default yang mengikuti pedoman Changelog Dasar?
Secara opsional menghasilkan perubahan yang belum dirilis (masalah tertutup yang belum dirilis)?
Dukungan Github Enterprise melalui Opsi Baris Perintah! ?
Kustomisasi format fleksibel:
milestone masalah nama yang sama dengan tag versi?question apa pun, duplicate , invalid , atau wontfix ) ✂️Membedakan masalah dengan label . ?
bug berlabel)?enhancement )?Secara manual menyertakan atau mengecualikan masalah dengan label?
Kustomisasi lebih banyak! Tweak changelog agar sesuai dengan preferensi Anda? ( Lihat github_changelog_generator --help untuk detailnya)
Untuk setiap versi, Anda dapat menambahkan ringkasan rilis dengan teks, gambar, animasi GIF, dll, dan menampilkan fitur dan catatan baru dengan jelas kepada pengguna. Ini dilakukan dengan menggunakan metadata GitHub.
Contoh : Menambahkan ringkasan rilis untuk v1.0.0:

Hello, World! :tada:
release-summary dan tambahkan ke Github Milestone v1.0.0github-changelog-generatorv1.0.0 (2014-11-07)
Changelog penuh
Halo, dunia! ?
Peningkatan yang diimplementasikan:
- Tambahkan beberapa fitur
Berikut adalah daftar alternatif wikipage yang saya temukan. Tapi tidak ada yang memenuhi persyaratan saya.
Jika Anda tahu proyek lain, silakan edit halaman wiki ini!
Berikut adalah daftar proyek wikipage.
Jika Anda menggunakan proyek ini di aplikasi langsung, beri tahu saya! Tidak ada yang membuat saya lebih bahagia daripada melihat orang lain mengambil pekerjaan saya dan menjadi liar dengan itu.
Jika Anda menggunakan github_changelog_generator untuk menghasilkan perubahan proyek Anda, atau mengetahui proyek lain yang menggunakannya, silakan tambahkan ke daftar ini.
github_changelog_generator dapat digunakan dalam kombinasi dengan GitHub CLI untuk membuat catatan rilis. Gunakan opsi --since-tag dan --output dari github_changelog_generator untuk membuat changelog untuk rilis saat ini dan menyimpan hasilnya dalam file. Dalam contoh di bawah ini, versi 2.0.0 adalah rilis saat ini dan versi 1.0.0 adalah rilis sebelumnya.
mkdir -p build
github_changelog_generator
--since-tag 1.0.0
--output build/changelog.md
Kemudian gunakan fitur Buat Rilis dari GitHub CLI untuk membuat rilis GitHub baru
gh release create 2.0.0
--notes-file build/changelog.md
--title 2.0.0
Tidak ada yang mustahil!
Buka masalah dan mari kita buat generator lebih baik bersama!
Laporan Bug, Permintaan Fitur, Patch, dan Nuansa Sumur selalu diterima. ❗
Rilis GitHub adalah hal yang sangat baik. Dan itu praktik yang sangat baik untuk mempertahankannya. (Belum banyak orang menggunakannya!) ㊗️
BTW: Saya ingin mendukung rilis GitHub di rilis berikutnya;)
Saya tidak mencoba membandingkan kualitas log tulisan tangan dan yang dihasilkan secara otomatis. Yang mengatakan ....
Changelog yang dihasilkan secara otomatis sangat membantu, bahkan jika Anda secara manual mengisi catatan rilis!
Hal ini dimungkinkan menggunakan entri add-sections atau configure-sections di .github_changelog_generator . Misalnya, untuk menambahkan satu entri baru yang disebut "pemeliharaan" yang akan menangkap PRS yang ditandai dengan label maintenance Anda, Anda dapat menambahkan ke .github_changelog_generator baris:
add-sections= {"maintenance":{"prefix":"**Project maintenance**","labels":["maintenance"]}}
Pendekatan serupa dapat digunakan melalui configure-sections untuk mengatur semua properti bagian (termasuk menambahkan yang baru!).
Ketika ruby Anda sudah tua, dan Anda tidak ingin meningkatkan, dan Anda ingin mengontrol perpustakaan mana yang Anda gunakan, Anda dapat menggunakan Bundler.
Dalam sebuah gemfile, mungkin dalam kelompok :development yang tidak dikerahkan, tambahkan permata ini:
group :development do
gem 'github_changelog_generator' , require : false
endMaka Anda dapat menjaga ketergantungan kembali seperti Rack, yang saat ini hanya kompatibel dengan Ruby> = 2.2.2. Jadi, gunakan versi yang lebih lama untuk aplikasi Anda dengan menambahkan baris seperti ini ke Gemfile:
gem 'rack', '~> 1.6'
Dengan cara ini, Anda dapat terus menggunakan github_changelog_generator, bahkan jika Anda tidak bisa mendapatkan versi terbaru dari Ruby.
Windows: v1.14.0 memperkenalkan bug di mana ia mencoba membuat /tmp/github_changelog-gogger.log ... yang bukan jalur yang valid pada windows dan dengan demikian gagal
Penanganan Masalah: Buat C:tmp .
Apakah Anda ingin berkontribusi pada proyek ini? Kontribusi.MD memiliki semua detail tentang cara melakukannya.
Bergabunglah dengan Obrolan di Gitter: Github-Changelog-Generator
Generator Changelog GitHub dirilis di bawah lisensi MIT.