リリースノートをマージされたPull Requestのラベルから自動生成する
Katz
GitHubのリリースノートをマージされたPull Requestのラベルごとにカテゴリ分けして自動生成する方法について解説します。

Contents
前提 : 運用フローのイメージ
以下のステップでリリースノートを作成する運用フローを想定してGitHubのリポジトリをセットアップします。この記事では各ステップの実施手順については省略しますのでご了承ください。
番号 | タイトル |
---|---|
1 | Pull Requestを作成する |
2 | Pull Requestにラベルを付ける |
3 | Pull Requestをdevelopブランチにマージする |
4 | developブランチの最新のコミット地点にバージョンタグを作成する |
5 | 作成したバージョンタグからリリースを作成する |
準備 : Pull Requestのラベルを定義する
上記の運用フローのStep2でPull Requestのラベルを付けるために、GitHubのリポジトリに以下のラベル定義を以下の手順で追加しておく。
手順
- GitHubリポジトリのIssuesにアクセスする
- IssuesのLabelsをクリックして、ラベル一覧を表示する
- LabelsのNew labelをクリックして、以下のラベル定義を追加する


定義
名称 | 内容 |
---|---|
feature | 機能追加を実施したPull Requestにつけるラベル |
refactoring | リファクタリングを実施したPull Requestにつけるラベル |
dependencies | 依存関係の更新を実施したPull Requestにつけるラベル |
bugfix | バグ修正を実施したPull Requestにつけるラベル |
chore | バージョン更新などを実施したPull Requestにつけるラベル |
準備 : リリースノートを自動生成する設定を変更する
リリースノートの記載をする際にGenerate release notesをクリックした時のフォーマットを.github/release.ymlで変更できる。今回は.github/release.ymlを新たに定義してラベル単位でマージしたPRを一覧表示できるようにする。

手順
- .github/release.ymlを新規追加する
- release.ymlのcategoriesにPull Requestのラベルを定義する
定義
# .github/release.yml
changelog:
categories:
- title: "🚀 New Features"
labels:
- "feature"
- title: "🛠 Refactoring"
labels:
- "refactoring"
- title: "📦 Dependencies"
labels:
- "dependencies"
- title: "🐛 Bug Fixes"
labels:
- "bugfix"
- title: "🧹 Maintenance"
labels:
- "chore"
- title: "🪼 Other"
labels:
- "*"
パラメータ | 説明 |
---|---|
changelog.exclude.labels | リリースノートに表示しないプルリクエストのラベル一覧。 |
changelog.exclude.authors | リリースノートから除外するユーザーまたはボットのログインハンドルの一覧。 |
changelog.categories[*].title | 必須。リリースノートの変更カテゴリのタイトル。 |
changelog.categories[*].labels | 必須。このカテゴリに適用するラベル一覧。* を使用すると、前のカテゴリに該当しないすべてのプルリクエストをキャッチできる。 |
changelog.categories[*].exclude.labels | このカテゴリから除外するプルリクエストのラベル一覧。 |
changelog.categories[*].exclude.authors | このカテゴリから除外するユーザーまたはボットのログインハンドルの一覧。 |
動作確認 : リリースノートをラベルから自動生成する
手順
- Gitでタグを追加してGitHubにPushする
- GitHubのTagsにてタグをクリックする
- GitHubの任意のタグページにでCreate release from tagをクリックする
- Generate release noteをクリックしてリリースノートをラベルから自動生成する
確認結果

参考文献
ABOUT ME