# 自動生成リリース ノート

GitHub リリースのリリース ノートを自動的に生成できます

## 自動生成リリース ノートについて

自動生成リリース ノートは、GitHub リリースのリリース ノートを手作業で記述する代わりに、自動的に生成する機能です。 自動生成リリース ノートを使うと、リリースの内容の概要をすばやく生成できます。 自動生成されたリリース ノートには、マージされた pull request の一覧、リリースの共同作成者の一覧、完全な変更ログへのリンクが含まれます。

また、自動リリース ノートをカスタマイズし、ラベルを使ってカスタム カテゴリを作成して、含める pull request をまとめたり、特定のラベルとユーザーを出力に表示しないように除外したりすることもできます。

## 新しいリリースの自動生成リリース ノートを作成する

1. GitHub で、リポジトリのメイン ページに移動します。1. ファイルの一覧の右側にある **\[リリース]** をクリックします。

   ![リポジトリのメイン ページのスクリーンショット。 \[リリース\] というラベルの付いたリンクがオレンジ色の枠線で強調表示されています。](/assets/images/help/releases/release-link.png)1. ページの上部にある **\[新しいリリースの下書き]** を選びます。
2. リリースのタグを選択するには、 **\[タグの選択]** ドロップダウン メニューを選択します。
   * 既存のタグを使うには、そのタグを選びます。
   * 新しいタグを作成するには、リリースのバージョン番号を入力し、 **\[新しいタグを作成]** を選びます。
3. 新しいタグを作成した場合は、 **\[ターゲット]** ドロップダウン メニューを選び、リリースするプロジェクトが含まれるブランチを選びます。1. 必要に応じて、\[説明] フィールドの上にある **\[前のタグ]** ドロップダウン メニューを選び、次に前のリリースを特定するタグを選びます。

   ![\[新しいリリース\] フォームのスクリーンショット。 \[前のタグ: 自動\] というラベルの付いたドロップダウン メニューがオレンジ色の枠線で強調表示されています。](/assets/images/help/releases/releases-tag-previous-release.png)1. \[リリース タイトル] フィールドに、リリースのタイトルを入力します。
4. "説明" フィールドの上にある **\[リリース ノートの生成]** をクリックします。
5. 生成されたノートをチェックし、含めたい情報がすべて (そしてそれだけが) 含まれることを確認します。
6. オプションで、コンパイルされたプログラムなどのバイナリファイルをリリースに含めるには、ドラッグアンドドロップするかバイナリボックスで手動で選択します。
7. 必要に応じて、リリースが不安定であり、運用の準備ができていないことをユーザーに通知するには、 **\[これはプレリリースです]** を選びます。
8. 必要に応じて、 **\[最新リリースとして設定する]** を選びます。 このオプションをオンにしないと、セマンティック バージョン管理に基づいて、最新のリリース ラベルが自動的に割り当てられます。
9. 必要に応じて、GitHub Discussions がリポジトリで有効になっている場合、リリースのディスカッションを作成します。
   * **\[このリリースのディスカッションを作成する]** を選びます。
   * **\[カテゴリ]** ドロップダウン メニューを選び、次にリリース ディスカッションのカテゴリを選びます。
10. リリースを公開する準備ができている場合は、 **\[リリースの公開]** をクリックします。 後でリリースを操作するには、\[ **下書きの保存**] をクリックします。リポジトリに対して変更できないリリースを有効にしている場合は、最初に下書きを作成すると、リリースが変更不可になる前にすべての資産をアタッチできます。
    その後、リポジトリのリリース フィードで公開されたリリースまたはドラフト リリースを表示できます。 詳しくは、「[リポジトリのリリースとタグを表示する](/ja/repositories/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags)」をご覧ください。

## 自動生成リリース ノートを構成する

1. GitHub で、リポジトリのメイン ページに移動します。1. ファイルの一覧の上にある **\[Add file <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-triangle-down" aria-label="The downwards-facing triangle icon" role="img"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg>]** ドロップダウン メニューを選んでから、**\[<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-plus" aria-label="plus" role="img"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path></svg> Create new file]** をクリックします。

   または、左側のファイル ツリー ビューの <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-plus" aria-label="The plus sign icon" role="img"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path></svg> をクリックしてもかまいません。

   ![上で説明した \[Add file\] と "プラス記号" アイコンの両方がオレンジ色の枠線で強調されている、リポジトリのメイン ページのスクリーンショット。](/assets/images/help/repository/add-file-buttons.png)
2. ファイル名フィールドに、`.github/release.yml` と入力します。 これで、`release.yml` ディレクトリに `.github` という新しいファイルが作成されます。
3. このファイルでは、以下の構成オプションを使って、このリリースから除外する pull request ラベルと作成者を YAML で指定します。 新しいカテゴリを作成し、それぞれに含める pull request ラベルを列記することもできます。

### 構成オプション

| パラメーター                                                                                         | 説明                                                   |
| :--------------------------------------------------------------------------------------------- | :--------------------------------------------------- |
| `changelog.exclude.labels`                                                                     | リリース ノートに表示しない pull request のラベルの一覧。                 |
| `changelog.exclude.authors`                                                                    | pull request をリリース ノートから除外するユーザーまたはボット ログイン ハンドルの一覧。 |
| `changelog.categories[*].title`                                                                |                                                      |
| **必須。** リリース ノートでの変更のカテゴリのタイトル。                                                                |                                                      |
| `changelog.categories[*].labels`                                                               |                                                      |
| **必須。** このカテゴリの pull request を修飾するラベル。 前のカテゴリのいずれにも一致しなかった pull request のキャッチオールとして `*` を使います。 |                                                      |
| `changelog.categories[*].exclude.labels`                                                       | このカテゴリに表示しない pull request のラベルの一覧。                   |
| `changelog.categories[*].exclude.authors`                                                      | pull request をこのカテゴリから除外するユーザーまたはボット ログイン ハンドルの一覧。   |

### 構成例

semver リリースにラベルを付けるリポジトリの構成

```yaml copy
# .github/release.yml

changelog:
  exclude:
    labels:
      - ignore-for-release
    authors:
      - octocat
  categories:
    - title: Breaking Changes 🛠
      labels:
        - Semver-Major
        - breaking-change
    - title: Exciting New Features 🎉
      labels:
        - Semver-Minor
        - enhancement
    - title: Other Changes
      labels:
        - "*"
```

pull request にはタグを付けないが、Dependabot の自動 pull request はリリース ノートで分離する必要があるリポジトリの構成 (汎用カテゴリを表示するために `labels: '*'` が必要です)

```yaml copy
# .github/release.yml

changelog:
  categories:
    - title: 🏕 Features
      labels:
        - '*'
      exclude:
        labels:
          - dependencies
    - title: 👒 Dependencies
      labels:
        - dependencies
```

## 参考資料

* [ラベルを管理する](/ja/issues/using-labels-and-milestones-to-track-work/managing-labels)