
توليد Changelog المؤتمتة بالكامل - تقوم هذه الأحجار الكريمة بإنشاء ملف Changelog استنادًا إلى العلامات والمشكلات وطلبات السحب المدمجة (وتقسيمها إلى قوائم منفصلة وفقًا للعلامات) من Github.
نظرًا لأنك لست مضطرًا لملء CHANGELOG.md يدويًا الآن: ما عليك سوى تشغيل البرنامج النصي ، واسترخ واسترخ كوبًا قبل إصدارك التالي! ؟
لتسهيل الأمر على المستخدمين والمساهمين في رؤية التغييرات البارزة التي تم إجراؤها على وجه التحديد بين كل إصدار (أو إصدار) من المشروع.
لأن أدوات البرمجيات مخصصة للأشخاص . "تسهل changelogs على المستخدمين والمساهمين رؤية التغييرات البارزة التي تم إجراؤها على وجه التحديد بين كل إصدار (أو إصدار) للمشروع."
➡ https://keepachangelog.com
GitHub Changelog Generator هو برنامج Ruby ، موزعة على أنها Rubygem. تحتوي صفحة Ruby Language الرئيسية على صفحة تثبيت.
قم بتثبيت الأحجار الكريمة مثل:
$ gem install github_changelog_generator
بناءً على نظامك ، قد تحتاج إلى تشغيل shell كمسؤول (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 Enterprise Repos ، حدد خيارات- --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 لهذا المشروع
تم إنشاء ActionsheetPicker-3.0/changelog.md بواسطة الأمر:
$ github_changelog_generator -u github-changelog-generator -p ActionSheetPicker-3.0
بشكل عام ، يبدو هذا:
1.2.5 (2015-01-15)
تغيير الكامل
التحسينات المنفذة:
- استخدم Milestone لتحديد أي خطأ في الإصدار تم إصلاحه #22
الأخطاء الثابتة:
- خطأ عند محاولة إنشاء سجل لإعادة الريبو بدون علامات #32
طلبات السحب المدمجة:
يتم تضمين فئة PrettyPrint باستخدام Squarcase "PP" #43 (Schwing)
دعم المؤسسة Github عبر خيارات سطر الأوامر #42 (Glenlovett)
طباعة مساعدة لجميع خيارات سطر الأوامر لمعرفة المزيد من التفاصيل:
$ github_changelog_generator --help
لمزيد من التفاصيل حول params ، اقرأ صفحة الويكي: أمثلة توليد changelog المتقدمة
في جذر المشروع الخاص بك ، يمكنك وضع ملف params المسمى .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 بإعادة تعيين حد طلبك غير المصادق.)
مع العلم بمدى تفانيك في مشروعك ، فمن المحتمل أنك لم تكن تنتظر github-changelog-generator للحفاظ على التغيير. لكن ربما لا تريد المشكلات المفتوحة لمشروعك و PRS لجميع الميزات السابقة المدرجة في Changelog التاريخي ، أيضًا.
هذا هو المكان الذي يأتي فيه --base <your-manual-changelog.md> في متناول يدي! يتيح هذا الخيار إلحاق changelog اليدوي القديم الخاص بك إلى نهاية الإدخالات التي تم إنشاؤها.
إذا كان لديك ملف HISTORY.md في مشروعك ، فسيتم اختياره تلقائيًا باعتباره التغيير التاريخي الثابت والإلحاق.
هل تحب rake ؟ نحن نفعل أيضا! لذلك ، لقد جعلنا الأمر أسهل بالنسبة لك: لقد قدمنا مكتبة مهمة rake لتوليد Changelog الخاص بك.
قم بتكوين المهمة في 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 يمكن تمرير جميع خيارات سطر الأوامر إلى مهمة rake كمعلمات config . وبما أنك تسمية مهمة rake بنفسك ، يمكنك إنشاء أكبر عدد تريده.
يمكنك البحث عن أسماء البراميل من رمز مصدر المحلل (#setup_parser). على سبيل المثال ، لترجمة ملصق الأخطاء إلى البرتغالية ، بدلاً من إعداد config.bugs_label ، يجب عليك تعيين config.bug_prefix ، وهكذا.
إنشاء ملف changelog الكنسي ، مع الأقسام الافتراضية التي تتبع إرشادات changelog الأساسية؟
اختياريا توليد تغييرات غير منشورة (المشكلات المغلقة التي لم تصدر بعد)؟
GitHub Enterprise Support عبر خيارات سطر الأوامر! ؟
تخصيص تنسيق مرن:
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 من المشاريع.
إذا كنت قد استخدمت هذا المشروع في تطبيق مباشر ، فيرجى إبلاغي بذلك! لا شيء يجعلني أكثر سعادة من رؤية شخص آخر يأخذ عملي ويذهب معه.
إذا كنت تستخدم github_changelog_generator لإنشاء changelog لمشروعك ، أو معرفة مشاريع أخرى باستخدامه ، يرجى إضافتها إلى هذه القائمة.
يمكن استخدام github_changelog_generator مع Github CLI لإنشاء ملاحظات الإصدار. استخدم خيارات --since-tag و --output github_changelog_generator لإنشاء changelog للإصدار الحالي وتخزين النتائج في ملف. في المثال أدناه ، الإصدار 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 شيء جيد جدًا. وهي ممارسة جيدة جدًا للحفاظ عليها. (ليس الكثير من الناس يستخدمونها بعد!) ㊗
راجع للشغل: أود دعم إصدارات جيثب في الإصدارات التالية ؛)
لا أحاول مقارنة جودة السجلات المكتوبة بخط اليد والتوليدي. هذا قال ....
يساعد Changelog الذي تم إنشاؤه تلقائيًا حقًا ، حتى لو قمت بملء ملاحظات الإصدار يدويًا!
هذا ممكن باستخدام add-sections أو إدخال configure-sections في .github_changelog_generator . على سبيل المثال ، لإضافة إدخال جديد واحد يسمى "الصيانة" من شأنه أن يلتقط PRS الموسومة بتسمية maintenance الخاصة بك ، يمكنك إضافة إلى .github_changelog_generator السطر:
add-sections= {"maintenance":{"prefix":"**Project maintenance**","labels":["maintenance"]}}
يمكن استخدام نهج مماثل عن طريق configure-sections لتعيين جميع خصائص القسم (بما في ذلك إضافة أدوات جديدة!).
عندما يكون روبيك قديمًا ، ولا تريد الترقية ، وتريد التحكم في المكتبات التي تستخدمها ، يمكنك استخدام Bundler.
في Gemfile ، ربما في مجموعة التنمية :development ، أضف هذه الأحجار الكريمة:
group :development do
gem 'github_changelog_generator' , require : false
endبعد ذلك ، يمكنك الحفاظ على التبعيات مثل Rack ، والتي تتوافق حاليًا مع Ruby> = 2.2.2. لذا ، استخدم إصدارًا قديمًا لتطبيقك عن طريق إضافة سطر مثل هذا إلى Gemfile:
gem 'rack', '~> 1.6'
وبهذه الطريقة ، يمكنك الاستمرار في استخدام github_changelog_generator ، حتى لو لم تتمكن من الحصول على أحدث إصدار من Ruby مثبت.
Windows: v1.14.0 قدم خطأً حيث يحاول إنشاء /tmp/github_changelog-logger.log ... وهو مسار صالح على Windows وبالتالي يفشل
الحل البديل: إنشاء C:tmp .
هل ترغب في المساهمة في هذا المشروع؟ المساهمة. MD لديه كل التفاصيل حول كيفية القيام بذلك.
انضم إلى الدردشة في Gitter: Github-Changelog-Generator
يتم إصدار GitHub Changelog Generator بموجب ترخيص MIT.