| name | app-release-notes |
| description | App Store Connect / Google Playの「このバージョンの最新情報」リリースノートを自動生成する。mobile/app.jsonのexpo.versionを現在バージョンとし、前回バージョンとのGit差分からユーザー向けリリースノートを作成する。「リリースノートを作成して」「ストアの更新情報を書いて」「app-release-notes」などで起動する。 |
App Release Notes
App Store Connect / Google Playストア向けのリリースノート(「このバージョンの最新情報」)を自動生成する。
ワークフロー
1. バージョン情報を取得
mobile/app.jsonを読み、expo.versionを現在のリリースバージョンとして取得する。
2. 前回バージョンのコミットを特定
mobileサブモジュール内でバージョン更新コミットを検索する:
cd mobile
git log --oneline --all --grep="<前回バージョン番号>"
バージョン番号はセマンティックバージョニング(例: 1.0.4 → 1.0.5)で管理されているため、現在バージョンの1つ前のマイナーバージョンを検索する。
3. 差分コミットを取得
前回バージョン更新コミットから現在バージョン更新コミットまでのコミット一覧を取得する:
git log --oneline <前回バージョンコミットハッシュ>..<現在バージョンコミットハッシュ>
必要に応じてマージPRの詳細も確認する:
gh pr view <PR番号> --repo ippei-shimizu/buzzbase_mobile
4. リリースノートを生成
コミットメッセージとPR内容を分析し、以下のカテゴリに分類して日本語のリリースノートを作成する。
カテゴリ分類ルール
| コミットプレフィックス | カテゴリ |
|---|
Add: | 新機能 |
Update:, Change:, Refactor:, Chore: | 改善 |
Fix: | バグ修正 |
Remove: | 削除(内容に応じて改善に含めてもよい) |
除外するコミット
- バージョン更新コミット(
バージョンを X から Y に更新)
- マージコミット(
Merge pull request)
- ビルド番号更新(
ビルド番号を更新)
- READMEの更新
- CI/CD設定の変更
- lint/format修正のみのコミット
出力フォーマット
【新機能】
・{ユーザーが理解できる機能説明}
【改善】
・{改善内容の説明}
【バグ修正】
・{修正内容の説明}
文章作成ルール
- ユーザー視点で書く(技術的な内部実装の詳細は書かない)
- 「〜しました。」で統一する
- 関連する複数コミットは1つの項目にまとめる
- カテゴリに該当するコミットがない場合、そのカテゴリは省略する
- 1項目は1行で簡潔に書く
5. 出力
生成したリリースノートをそのままコピーして使えるようにプレーンテキストで出力する。